Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Alla scoperta di Laravel 4

Scopriamo tutte le novità della versione 4 di Laravel, il semplice e immediato framework open source per lo sviluppo di applicazioni in PHP
Scopriamo tutte le novità della versione 4 di Laravel, il semplice e immediato framework open source per lo sviluppo di applicazioni in PHP
Link copiato negli appunti

Abbiamo già avuto modo di scoprire Laravel, un framework PHP potente e flessibile, oltre che di facile apprendimento. Il 28 Maggio 2013, gli sviluppatori ne hanno rilasciato le versione 4.

In questo articolo vedremo cosa è cambiato rispetto alla precedente, cosa è stato aggiunto e cosa è stato abbandonato.

Evoluzione

Laravel ha conosciuto un significativo aumento del suo bacino di utenza tra fine 2012 e nei primi mesi del 2013, grazie ad una moltitudine di cause dirette e indirette.

Se da una parte c’è da dire che alcuni framework hanno cominciato a conoscere un primo lieve declino (CodeIgniter, ad esempio), bisogna ammettere che Laravel è riuscito senza problemi a guadagnare una significativa fetta di sviluppatori. Un risultato ottenuto grazie ad una sintassi semplice, una curva di apprendimento vantaggiosa, una community attiva e come ciliegina sulla torta svariate ottime pubblicazioni direttamente dai programmatori del framework stesso.

Inoltre, proprio ad agosto 2013, ad Amsterdam, la prima conferenza ufficiale di Laravel, Laracon.

Installazione

La prima cosa che salta all’occhio, parlando di cambiamenti, è nell’installazione del framework. Da questa versione, infatti, Laravel si avvale del supporto di Composer per l’installazione di tutte le dipendenze necessarie. Per chi non ne fosse a conoscenza, Composer è un comodo strumento di dependency management che consente, tramite delle semplici definizioni, di scaricare per un proprio progetto tutte le librerie necessarie (raggruppate in “packages”), creando in un certo senso il proprio framework di volta in volta.

Vediamo all’atto pratico come creare un nuovo progetto installando il framework. Il tutto con una semplice istruzione da linea di comando.

A patto di avere installati Composer (che si può scaricare da getcomposer.com) e Git, infatti, basterà utilizzare il prompt dei comandi e digitare:

composer create-project laravel/laravel cartella_del_progetto

Nel giro di qualche minuto composer si occuperà di scaricare e preparare tutto il necessario, partendo dalle dipendenze fino al framework vero e proprio mettendo nella cartella specificata (in questo caso “cartella_del_progetto”) tutti i files. Comodo, vero?

In ogni caso è disponibile anche una “seconda modalità” di installazione: è possibile infatti scaricare il pacchetto dei file dal sito di Laravel e, in un secondo momento, avviare il comando “composer install” per scaricare tutte le dipendenze necessarie.

Una modalità, questa seconda, che può risultare particolarmente utile nel caso di problemi con Git.

Mailing

Se c’era una cosa di cui si sentiva la mancanza (anche se facilmente risolvibile con un bundle) era proprio una librieria per l’invio dei messaggi di posta. Gli sviluppatori, tuttavia, devono aver pensato che bisognava risolvere anche questo problema, quando hanno deciso di includere SwiftMailer come “base” per l’invio di email.

Esaminiamo un esempio di sintassi proposta:

Mail::send('emails.welcome', $data, function($message)
{
    $message->to('foo@example.com', 'John Smith')->subject('Welcome!');
});

Stiamo richiamando il metodo “send” della classe mail. Metodo che presenta tre parametri: una view dalla quale prendere il codice del corpo della mail, un oggetto “data” contenente gli eventuali dati con cui popolare la view ed, infine, una closure nella quale specificare tutti i dettagli della mail da mandare (destinatario ed oggetto, in questo caso).

Ecco fatto: la mail è servita senza ulteriori istruzioni da specificare.

Queues

Alleggerire, ottimizzare e velocizzare: parole chiave nello sviluppo di tutti i giorni, magari nel contesto di applicazioni grandi e pesanti che devono effettuare operazioni altrettanto pesanti. Si pensi ad un sacco di email da mandare, oppure ad un enorme numero di record da modificare o ancora a tanti files da spostare.

Farli nel contesto di una richiesta da parte dell’utente è la prima soluzione che viene in mente, certo, ma non è sicuramente la più efficace.

Grazie alle Queues e ad un sistema unificato di API il problema è presto risolto, aumentando considerevolmente la velocità delle proprie applicazioni.

Ecco, direttamente dalla documentazione, una semplice richiesta di messa in coda di un email:

Queue::push('SendEmail', array('message' => $message));

Nulla di più immediato.

Documentazione

Uno sviluppatore sa quanto è importante la documentazione: senza una linea guida corretta e chiara lavorare con serenità è praticamente impossibile.

Anche per quanto riguarda la documentazione gli sviluppatori di Laravel non si sono risparmiati: la pagina Quickstart, reperibile all’indirizzo http://laravel.com/docs/quick è un perfetto esempio di come, in una sola pagina, possono essere spiegati tutti i concetti fondamentali (e più appetibili) del framework.

Ovviamente è stata anche inaugurata una sezione apposita sul forum (tre, per la precisione) totalmente dedicata a questa nuova versione del framework.

Nessun problema, chiaramente, per tutti quelli che invece ancora usano la “vecchia” versione: tutta la documentazione è adesso all’indirizzo http://three.laravel.com.

Dai “Bundles” ai “Packages”

Laravel 3 offriva un supporto modulare allo sviluppo di software, tramite l’utilizzo dei “Bundles”: vere e proprie applicazioni all’interno delle applicazioni che, seguendo il pattern HMVC, consentivano di riutilizzare in maniera più efficiente il codice scritto.

In occasione di Laravel 4 è stato fatto un ulteriore passo avanti: perché limitarsi ad usare codice scritto appositamente per Laravel, quando si può utilizzare di tutto per estenderne le funzionalità di base?

Ecco quindi che gli sviluppatori hanno deciso di dare il pieno supporto ai “Packages”, ottenibili tramite Composer. A volte identificabili con progetti legati esclusivamente a Laravel, a volte invece identificabili con realtà totalmente svincolate (Carbon e Behat sono i due esempi riportati dal sito stesso).

Conclusioni

In realtà potremmo stare a parlare ancora molto di Laravel 4: questo però è solo un articolo introduttivo e non è stato facile cercare tutte le novità davvero significative e più “evidenti” sia allo sviluppatore più esperto che a quello delle prime armi.

Ci sarebbe ancora da parlare delle Facades, dello sviluppo dei Packages nel dettaglio e ancora della sicurezza, dello unit testing e dell’evoluzione di Artisan, il tool da linea di comando che è stato ampiamente rivisto rispetto alla sua versione precedente.

Per oggi ci fermiamo qui: per qualsiasi altra informazione trovate tutto quello che serve su http://www.laravel.com.

Ti consigliamo anche