Che cosa è Laravel? Introduciamo Laravel per chi ancora non si fosse accorto delle splendide opportunità che questo framework è in grado oggi di fornire a tutti i developer che presenti sul mercato pensano sul serio di diventare sviluppatori di livello avanzato e dunque di lavorare per progetti interessanti, di respiro internazionale e di conseguenza ben remunerati.
Introduzione a Laravel
Laravel è un framwork basato sul pattern MVC scritto in PHP progettato per migliorare la qualità del software riducendo sia i costi di sviluppo che quelli di manutenzione.
Non solo, Laravel è stato realizzato con il preciso intento di migliorare l’esperienza di sviluppo delle applicazioni fornendo una sintassi chiara ed espressiva del proprio codice grazie ad un insieme di funzionalità e di integrazioni che vi faranno risparmiare ore e ore di sviluppo per quanto riguarda i tempi di implementazione di un qualsiasi tipo di software.
Pattern MVC
MVC (Model-View-Controller) è un pattern architetturale molto diffuso nello sviluppo di applicazioni per il web.
Il funzionamento di tale pattern può essere schematizzato nel seguente modo:
Questo modello si sposa perfettamente con il funzionamento di una web application moderna, dove vengono intercettate le azioni dell’utente. Il nostro applicativo che interagisce con l’utente mediante il browser, si deve quindi comportare in base alle azioni dell’utente.
Quindi, riassumendo, il browser invia al WebServer l’azione che ha compiuto l’utente (GET, POST).
Questo è il punto di ingresso nel nostro applicativo, che deve intercettare la richiesta dell’utente (Routes) e valutarla (Dispatcher) in modo da richiamare il Controller adeguato, con i giusti parametri.
In questo schema si individuano tre componenti fondamentali:
1. il Controller che gestisce il flusso di funzionamento del nostro applicativo. Se necessario dialoga con il Model, ne cattura il risultato, o gli invia dei dati. Il Controller dialoga con le View per “disegnare” l’output da inviare al WebSever. Il WebServer invierà l’output al Browser che ne interpreterà il contenuto;
2. il Model è il componente designato a comunicare con i dati, riceve le richieste da parte del Controller e restituisce dei dati. Il Model quindi non si deve occupare di disegnare qualcosa e non ha nessun OUTPUT ma ha un dialogo con il Controller basato su dati di ingresso e di uscita. Il Model quindi parlerà con i DB, ed userà le sue classi di “business” per i dati. In questo settore si collocano gli ORM, che consentono di effettuare tale dialogo con i Database mediante una logica “ad oggetti”, in modo da rendere trasparente ai Controller l’accesso ai dati, sia in scrittura che in lettura;
3. la View è il componente che si occupa della gestione della presentazione dei dati. Questo componente, deve gestire la costruzione dell’interfaccia grafica che rappresenta il mezzo mediante il quale gli utenti interagiranno con il sistema.
Perchè utilizzare Laravel?
Apri bene le orecchie 😉
Laravel è un framework idoneo alla creazione di applicazioni web principalmente basate sull’architettura Apache/Nginx, DB (MySql, PostgreSQL) e PHP.
Laravel è stato progettato utilizzando il paradigma “convention over configuration”. Questo paradigma di programmazione prevede configurazione minima (o addirittura assente) per il programmatore che utilizza il framework obbligandolo a configurare solo gli aspetti che si differenziano dalle implementazioni standard o che non rispettano particolari convenzioni di denominazione o simili.
Questo tipo di approccio semplifica notevolmente la programmazione soprattutto agli stadi iniziali dello studio di un nuovo framework, senza necessariamente perdere flessibilità o possibilità di discostarsi dai modelli standard.
Laravel è uno dei pochi framework PHP che offre vera modularità del codice. Si arriva all’ottenimento di questo risultato attraverso una combinazione di driver e sistema di caricamento dinamico delle classi. I driver consentono facilmente di utilizzare la cache, le sessioni, il database e funzionalità di autenticazione. Utilizzando pacchetti (composer), saremo in grado di realizzare codice sia per il proprio riutilizzo oppure per fornire funzionalità al resto della comunità Laravel.
Inoltre, ricordatevi sempre che:
LARAVEL ha una CURVA di APPRENDIMENTO veramente BASSA! E’ facile da imparare oltre ad essere super integrabile con Vue.js e React.