Laravel 5.3... in Arrivo! Le Novità

Sta arrivando Laravel 5.3, la nuova versione del framework. Come di consueto, le varie feature vengono annunciate così come vengono implementate. Vediamo cosa bolle in pentola!
francesco
Francesco Malatesta
10/08/2016 in News

Qualche giorno fa, Laravel News ha rilasciato un utilissimo articolo con qualche insight su Laravel 5.3, la nuova versione del framework attualmente in sviluppo. Ho così deciso di riportarle anchhe nella nostra lingua!

Chiaramente, non è detto che queste novità saranno quelle che poi verranno effettivamente rilasciate: è già capitato di vedere alcune feature scartate, oppure altre introdotte all'ultimo momento.

In ogni caso, vediamo cosa bolle in pentola per ora!

Eloquent Collection Serializzate nei Job

Lavorando con le code, sappiamo già che i singoli model vengono serializzati per poi essere ripresi in un secondo momento, in modo tale da ottimizzare il carico di lavoro.

Adesso, la stessa cosa avverrà per le collection.

Possibilità di Personalizzare la Paginazione Semplice

Con l'aggiunta di alcuni metodi ad hoc, sarà possibile personalizzare ulteriormente la paginazione semplice già presente nel framework, in modo tale da potersi gestire tutto nella view.

firstOrCreate

Il metodo firstOrCreate, da Laravel 5.3, consentirà il passaggio di un ulteriore parametro che consenta la creazione di un record nel caso in cui non dovesse essere trovato quello richiesto (tramite i parametri passati come primo argomento).

return User::firstOrCreate(['github_id', $githubUser->id], ['avatar' => $githubUser->avatar]);

Interessante!

Il Query Builder ritornerà una Collection

Le query effettuate tramite Query Builder hanno sempre previsto un array come tipo di valore ritornato. Adesso, per una maggiore uniformità dell'output, verrà ritornata una Collection.

$collection = DB::table('posts')->get();

Più Percorsi per le Migration

Siamo abituati a lasciare le nostre migration nella cartella predefinita `database/migrations'. Adesso, sarà possibile caricare tramite service provider più path in cui far "guardare" Laravel.

Tutto tramite il metodo loadMigrationFrom:

$this->loadMigrationsFrom('path/to/other/migrations/folder')

Echo!

Laravel Echo è una nuova feature annunciata che dovrebbe migliorare di molto il sistema di broadcasting degli eventi.

Il buon Jeffrey Way ha già pubblicato un video su Laracasts sull'argomento.

Update - 10 Agosto 2016

A quanto pare ci sono stati tanti, succosi aggiornamenti. Le novità in Laravel 5.3 infatti saranno molte di più.

Scout

Scout sarà un'integrazione un motore di ricerca full-text appositamente concepito per Eloquent. Di default supporterà Algolia, ma essendo driver based come molti altri componenti di Laravel permetterà un'integrazione indolore con qualsiasi altro sistema.

Per usarlo, basterà aggiungere il trait Searchable ed eseguire un semplice comando:

$ php artisan scout:import App\\Post

e quindi...

Post::search('Alice')->get();
// oppure...
Post::search('Alice')->paginate()
// o ancora...
Post::search(‘Alice’)—>where('acount_id', '>', 1)->paginate()

Mailable

Una nuova classe per inviare email in modo più espressivo ed elegante.

Mail::to('laravel@example.com')->send(new OrderComplete);
// oppure
Mail::to('laravel@example.com')->cc('john@example.com')->queue(new OrderComplete);

Sembra davvero interessante, staremo a vedere di cosa si tratterà.

Notifications

Questa è davvero bella: un'interfaccia per mandare notifiche ai nostri utenti. Come? Via mail, SMS, Slack... o qualunque cosa la fantasia suggerisca!

$this->line('Thank you for joining')
    ->action('Button Text', 'http://url.com')
    ->line('If you have any questions please hit reply')
    ->success();

oppure

$this->line('Sorry we had a problem with your order')
    ->action('Button Text', 'http://url.com')
    ->error()

Anche questa, personalmente, mi affascina molto.

Laravel Passport

Creare un server OAuth 2.0? Nessun problema, ci pensa Laravel Passport. Come bonus, offre anche la possibilità di configurare automaticamente dei componenti Vue.js, per gestire l'autenticazione lato frontend.

Helper cache()

Esattamente come visto con altri componenti, adesso sarà possibile usare l'helper cache() per recuperare, salvare e gestire informazioni presenti nella cache.

Conclusioni

Le cose cominciano a farsi interessanti! Quale feature di Laravel 5.3 ti colpisce di più?

Faccelo sapere qui sotto, tra i commenti!