Laravel è un framework open source di tipo MVC scritto in PHP per lo sviluppo di applicazioni web, creato nel 2011 da Taylor Otwell come derivazione di Symfony.
Distribuito con licenza MIT, mantiene tutto il codice disponibile su GitHub e viene indicato, in base al punteggio GitHub e StackOverflow, come il framework PHP più popolare, seguito da Symfony, CodeIgniter e altri; ad agosto 2014 risulta essere il progetto PHP più seguito su GitHub.
Alcune delle caratteristiche sono: un sistema di gestione dei pacchetti modulare con un gestore delle dipendenze dedicato, differenti modalità di accesso ai database relazionali, strumenti che aiutano la distribuzione e la manutenzione dell'applicazione, e la sua disposizione al syntactic sugar.
Storia Taylor Otwell creò Laravel nel tentativo di fornire delle alternative avanzate al framework CodeIgniter sprovvisto di alcune caratteristiche integrate, quali il supporto all'autenticazione e all'autorizzazione dell'utente. La prima versione beta di Laravel fu rilasciata il 9 Giugno 2011, seguito dalla versione 1 nello stesso mese. Laravel 1 integra il supporto all'autenticazione, localizzazione, modelli, viste, sessioni, routing e altri meccanismi, ma senza il supporto dei controller che gli impedivano di essere un vero e proprio framework MVC.
Laravel 2 fu rilasciato nel Settembre 2011, fornendo numerosi miglioramenti dallo sviluppatore e dalla comunità. Le caratteristiche principali includono il supporto a controller, rendendo Laravel 2 un framework MVC a tutti gli effetti, inversione del controllo (IoC) e al sistema di templating Blade. Come svantaggio, viene rimosso il supporto ai pacchetti di terze parti.
Laravel 3 fu rilasciato nel Febbraio 2012 con un set di nuove caratteristiche includendo l'interfaccia a riga di comando (CLI) chiamata Artisan, il supporto integrato a numerosi database management systems (DBMS), migrazioni del database, una sorta di controllo versione per la struttura del database, supporto alla gestione degli eventi e ad un sistema di gestione dei pacchetti chiamato Bundles. Questa versione portò ad un incremento della popolarità di Laravel tra gli utenti. Fino ad oggi sono stati realizzati più di 1.723.068 siti web utilizzando Laravel, di cui circa 743.470 sono ancora attivi.
Laravel 4, denominato Illuminate, fu rilasciato a Maggio 2013. C'è stata una completa riscrittura del framework, migrando il suo layout da un'architettura monolitica a un sistema di pacchetti separati, distribuiti tramite Composer, un sistema di gestione di pacchetti. Il nuovo layout di Laravel 4 ha migliorato la sua estendibilità accompagnando un programma ufficiale di rilasci ogni 6 mesi intervallati da minor point release. Altre caratteristiche includono il seeding del database per la popolazione iniziale dei database, il supporto alle code, a differenti tipi di email e al supporto del soft delete dei record del database.
Laravel 5 fu rilasciato nel Febbraio 2015 come risultato di un cambiamento interno portando alla rinumerazione di quella che avrebbe dovuto essere la versione 4.3. Le nuove caratteristiche di Laravel 5 includono: supporto alla schedulazione periodica dei task, un livello di astrazione dei file system tramite la libreria Flysystem che consente di interagire con sistemi di archiviazione remoti in maniera trasparente come nel caso di archiviazione locale, miglioramento della gestione degli assets frontend tramite Elixir e il supporto semplificato all'autenticazione tramite il pacchetto Socialite. Laravel 5, introduce inoltre, una riorganizzazione della struttura delle cartelle del progetto.
Laravel 5.1 (LTS) fu rilasciato nel Giugno 2015 e fu la prima release a ricevere il supporto a lungo termine (Long Term Support - LTS). Nuove versioni LTS sono pianificate ogni due anni.
Laravel 5.3 fu rilasciato il 23 Agosto 2016. Le nuove caratteristiche della 5.3 sono improntate al miglioramento della velocità di sviluppo tramite l'aggiunta di ulteriori miglioramenti per le comuni attività.
Laravel 5.4 fu rilasciato il 24 Gennaio 2017 con moltissime nuove caratteristiche quali Laravel Dusk, Laravel Mix, componenti e slot Blade, markdown nelle email, Facade automatiche, miglioramenti delle rotte, Higher Order Messaging per le collezioni e tanto altro.
Laravel 6 (LTS) fu rilasciato il 3 Settembre 2019. Le caratteristiche di questa versione sono: il Semantic Versioning, compatibilità con Laravel Vapor, migliorato il sistema di authorization responses, job middleware, lazy collections, miglioramenti all'utilizzo delle sub-query e tanto altro.
Laravel 7 fu rilasciato il 3 Marzo 2020 introducendo: Laravel Sanctum (ex Airlock) (autenticazione per SPA), velocità delle rotte migliorata, cast Eloquent personalizzati, componenti Blade da utilizzare come tag, operazioni sulle stringhe più veloce, un client HTTP per sviluppatori, supporto first-party al CORS, migliorato lo scoping delle rotte con il binding dei modelli, personalizzazione degli stub, miglioramenti alle code del database, driver mail multipli, cast in tempo reale nelle query, un nuovo comando artisan test e molti bug fix e miglioramenti.
Laravel 8 fu rilasciato l'8 Settembre 2020 e continua i miglioramenti fatti in Laravel 7 introducendo Laravel Jetstream, classi model factory, squashing delle migrazioni, job batching, rate limiting migliorato, miglioramenti alle code, componenti Blade dinamici, nuovo stile di paginazione in Tailwind, helper per i test del tempo, miglioramenti al comando artisan serve, miglioramenti agli event listener, e una varietà di altri bug fix e miglioramenti dell'usabilità.
Laravel 9 fu rilasciato l'8 Febbraio 2022 includendo il supporto minimo a PHP 8, gruppi di rotte per i controller, una pagina di errore migliorata, il driver database per Laravel Scout, nuova gestione delle mail tramite Synfony Mailer, Flysystem 3.x, miglioramenti alla gestione degli accessors/mutators di Eloquent e molti altri miglioramenti.
Release Le versioni LTS sono supportate con bug fix per 2 anni e security fix per 3 anni. Le altre versioni sono supportate con bug fix per 18 mesi e security fix per 2 anni. VersioneData di rilascioVersione PHPBug fix fino alSecurity fix fino al 1.0Giugno 2011 2.0Settembre 2011 3.022 Febbraio 2012 3.127 Marzo 2012 3.222 Maggio 2012 4.028 Maggio 2013≥ 5.3.0 4.112 Dicembre 2013≥ 5.3.0 4.21 Giugno 2014≥ 5.4.0 5.04 Febbraio 2015≥ 5.4.04 Agosto 20154 Febbraio 2016 5.1 (LTS)9 Giugno 2015≥ 5.5.99 Giugno 20179 Giugno 2018 5.221 Dicembre 2015≥ 5.5.921 Giugno 201621 Dicembre 2016 5.323 Agosto 2016≥ 5.6.423 Febbraio 201723 Agosto 2017 5.424 Gennaio 2017≥ 5.6.424 Luglio 201724 Gennaio 2018 5.5 (LTS)30 Agosto 2017≥ 7.0.030 Agosto 201930 Agosto 2020 5.67 Febbraio 2018≥ 7.1.37 Agosto 20187 Febbraio 2019 5.74 Settembre 2018≥ 7.1.34 Marzo 20194 Settembre 2019 5.826 Febbraio 2019≥ 7.1.326 Agosto 201926 Febbraio 2020 6 (LTS)3 Settembre 2019≥ 7.2.025 Gennaio 20226 Settembre 2022 73 Marzo 2020≥ 7.2.56 Ottobre 20203 Marzo 2021 88 Settembre 2020≥ 7.326 Luglio 202224 Gennaio 2023 98 Febbraio 2022≥ 8.08 Agosto 20246 Febbraio 2024 107 Febbraio 2023≥ 8.16 Agosto 20244 Febbraio 2025 1112 Marzo 2024≥ 8.25 Agosto 20253 Febbraio 2026 1224 Febbraio 2025≥ 8.213 Agosto 202624 Febbraio 20271317 Marzo 2026≥ 8.3Q3 202717 Marzo 2028 14Q1 2027≥ 8.4Q3 2028Q1 2029
Legenda Vecchia versione, nessun supporto Vecchia versione, ancora supportata Versione corrente Versione futura
Note
Altri progetti
Collegamenti esterni
Categoria:Framework per applicazioni web Categoria:Framework in PHP