Laravel 5.1, oltre al LTS quali saranno le novità?

Qualche giorno fa Francesco ha parlato del fatto che Laravel 5.1 sarà la prima versione Long Time Support. Quali sono le altre novità che verranno introdotte? Scopriamole.
francesco
Francesco Malatesta
14/05/2015 in News

Qualche giorno fa ho parlato di Laravel 5.1 e del fatto che sarà la prima release di Laravel LTS (Long Time Support). Indubbiamente un bel passo avanti per il framework e per la sua diffusione.

Tuttavia mi sono chiesto: quali altre novità sono state introdotte? O, almeno, cosa è stato sistemato?

Sinceramente, sono rimasto piacevolmente sorpreso quando ho questo articolo su Laravel-News.

Facciamo un po' il punto della situazione.

Cambi di Nomi

La cartella Commands diventerà Job, per sottolineare l'intento di usare tale cartella essenzialmente per i vari job da mettere in coda (queued). Sono sinceramente contento, dato che in tanti hanno avuto qualche perplessità trovandosi davanti Commands e Services.

Conversione verso PSR-2

Il codice in generale (app e generatori) vedranno una conversione verso lo standard PSR-2. Se non sai di cosa si tratta, dai un'occhiata qui.

Risolvere un Servizio da Blade

Ecco, questa mi è piaciuta un sacco. Sarà possibile, tramite la direttiva @inject, risolvere un servizio direttamente da Blade ed usarlo.

Con una sintassi del genere:

@extends('layouts.app')

@inject('reportService', 'ReportService')

<div><b>Clienti: </b>{{ $reportService->getCustomerCount() }}</div>

Niente male, eh?

Passare i Parametri ai Middleware

Anche questa l'ho apprezzata molto. Finalmente si potranno passare uno o più parametri ai middleware.

Ecco l'esempio proposto su Laravel-News che rende perfettamente l'idea.

Proprietà Except per VerifyCsrfToken

La classe VerifyCsrfToken è quella delegata alla protezione da eventuali attacchi Cross Site Request Forgery. Tuttavia, in tanti hanno avuto la necessità, in alcuni casi, di disabilitare tale protezione per alcune route (o gruppi di route).

Finalmente è stata introdotta la proprietà $except, da usare così:

protected $except = [
    'webhook/*'
];

Potendo specificare route specifiche o wildcard, adesso la vita sarà più facile.

Broadcasting di Eventi

Altra feature interessante sarà la possibilità di effettuare il broadcasting di eventi. Come questo video su Laracasts spiega molto bene, le possibilità di integrazione con altri servizi saranno davvero molto interessanti.

Esecuzione, tramite Envoy, di Script in Locale

Come questa pull request spiega nel dettaglio, è stata aggiunta la possibilità di eseguire degli script SSH in locale tramite Envoy.

Insomma...

... c'è tanta carne al fuoco. Non rimane che aspettare l'uscita.