Il framework php Laravel arriva alla versione 9
Laravel è uno dei framework PHP più diffusi, è adattabile, scalabile, versatile ed è diventato uno standard de facto per sviluppatori e aziende che lavorano con PHP.
Laravel è giunto alla versione 9, con una serie di nuove funzionalità, tra cui una versione minima di PHP v8.0, raggruppamento dei controller per il routing, motore di database Laravel Scout, integrazione di Symfony Mailer, Flysystem 3.x.
Inizialmente previsto per il rilascio entro settembre 2021, Laravel 9 è stato spostato a febbraio 2022, diventando così la prima versione di supporto a lungo termine (LTS) ad essere introdotta dopo il ciclo di rilascio di 12 mesi.
Mentre le versioni precedenti di Laravel avvenivano ogni sei mesi, il nuovo ciclo di rilascio sarà ogni 12 mesi, il che assicura la sincronizzazione del rilascio con Symfony — che Laravel usa dietro le quinte — e consente al team di sviluppo più tempo per correggere eventuali bug che si verificano quando si interagisce con il framework Symfony.
Per tutte le versioni di Laravel, le correzioni di bug sono fornite per 18 mesi e le correzioni di sicurezza sono fornite per 2 anni. Per tutte le librerie aggiuntive, incluso Lumen, solo l’ultima versione principale riceve correzioni di bug.
Questo lo schema dei rilasci:
Versione | PHP (*) | Rilascio | Bug Fixes fino al | Security Fixes fino al |
---|---|---|---|---|
6 (LTS) | 7.2 – 8.0 | 3 Settembre 2019 | 25 Gennaio 2022 | 6 Settembre 2022 |
7 | 7.2 – 8.0 | 3 Marzo 2020 | 6 Ottobre 2020 | 3 Marzo 2021 |
8 | 7.3 – 8.1 | 8 Settembre 2020 | 26 Luglio 2022 | 24 Gennaio 2023 |
9 | 8.0 – 8.1 | 8 Febbraio 2022 | 8 Agosto 2023 | 8 Febbraio 2024 |
10 | 8.1 | 7 Febbraio 2023 | 7 Agosto 2024 | 7 Febbraio 2025 |
Alcune novità:
PHP 8
Laravel 9.x richiede una versione PHP minima di 8.0.
Symfony Mailer
Nelle precedenti release Laravel utilizzava la libreria Swift Mailer, adesso viene sostituita con Symfony Mailer un API potente e di semplice utilizzo.
Migrazione di Stub Anonimi
La funzionalità di migrazione degli stub anonimi è stata introdotta per la prima volta in Laravel 8.37 per risolvere il problema di Github. Il problema si presenta con più migrazioni nello stesso nome di classe possono causare problemi quando si tenta di ricreare l’intero database. La funzionalità di migrazione dello stub elimina le collisioni dei nomi delle classi di migrazione.
Laravel Scout
Se l’applicazione che si vuole sviluppare deve accedere a database di piccole e medie dimensioni o ha un carico di lavoro leggero, ora si può utilizzare il motore “database” di Scout invece di un servizio di ricerca dedicato come Algolia o MeiliSearch.
Eloquent Accessors / Mutators migliorati
Nelle versioni precedenti per definire in Eloquent accessors and mutators l’unico modo era quello di definire metodi prefissi sul modello in questo modo:
public function getNameAttribute($value)
{
return strtoupper($value);
}
public function setNameAttribute($value)
{
$this->attributes['name'] = $value;
}
In questa versione invece si utilizza un unico metodo senza prefisso:
use Illuminate\Database\Eloquent\Casts\Attribute;
public function name(): Attribute
{
return new Attribute(
get: fn ($value) => strtoupper($value),
set: fn ($value) => $value,
);
}
Scopri di più su Laravel 9.x
Queste sono solo alcune delle nuove funzionalità di Laravel 9 e per vedere un elenco completo controlla le note di rilascio di Laravel 9 e la guida all’aggiornamento dalla versione 8.x alla 9.x