Laravel
![Abbozzo software libero](http://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Nuvola_apps_emacs.svg/45px-Nuvola_apps_emacs.svg.png)
Laravel software | |
---|---|
![]() | |
Genere | Framework per applicazioni web |
Sviluppatore | Taylor Otwell |
Data prima versione | 9 Giugno 2011 |
Ultima versione | 11.1.4 (16 luglio 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | PHP |
Licenza | licenza MIT (licenza libera) |
Sito web | laravel.com/ |
Modifica dati su Wikidata · Manuale |
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[1], seguito da Symfony, CodeIgniter e altri; ad agosto 2014 risulta essere il progetto PHP più seguito su GitHub.[2]
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[3].
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[3].
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[3]. Fino ad oggi sono stati realizzati più di 1.723.068 siti web utilizzando Laravel, di cui circa 743.470 sono ancora attivi.[4]
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 sarebbe dovuta essere la release 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[5].
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à[6].
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[7].
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.[8]
Laravel 7 fu rilasciato il 3 Marzo 2020 introducendo: Laravel Sanctum (ex Airlock[9]) (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.[10]
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.[11]
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[12].
Versione | Data di rilascio | Versione PHP | Bug fix fino al | Security fix fino al |
---|---|---|---|---|
1.0 | Giugno 2011 | |||
2.0 | Settembre 2011 | |||
3.0 | 22 Febbraio 2012 | |||
3.1 | 27 Marzo 2012 | |||
3.2 | 22 Maggio 2012 | |||
4.0 | 28 Maggio 2013 | ≥ 5.3.0 | ||
4.1 | 12 Dicembre 2013 | ≥ 5.3.0 | ||
4.2 | 1 Giugno 2014 | ≥ 5.4.0 | ||
5.0 | 4 Febbraio 2015 | ≥ 5.4.0 | 4 Agosto 2015 | 4 Febbraio 2016 |
5.1 (LTS) | 9 Giugno 2015 | ≥ 5.5.9 | 9 Giugno 2017 | 9 Giugno 2018 |
5.2 | 21 Dicembre 2015 | ≥ 5.5.9 | 21 Giugno 2016 | 21 Dicembre 2016 |
5.3 | 23 Agosto 2016 | ≥ 5.6.4 | 23 Febbraio 2017 | 23 Agosto 2017 |
5.4 | 24 Gennaio 2017 | ≥ 5.6.4 | 24 Luglio 2017 | 24 Gennaio 2018 |
5.5 (LTS) | 30 Agosto 2017 | ≥ 7.0.0 | 30 Agosto 2019 | 30 Agosto 2020 |
5.6 | 7 Febbraio 2018 | ≥ 7.1.3 | 7 Agosto 2018 | 7 Febbraio 2019 |
5.7 | 4 Settembre 2018 | ≥ 7.1.3 | 4 Marzo 2019 | 4 Settembre 2019 |
5.8 | 26 Febbraio 2019 | ≥ 7.1.3 | 26 Agosto 2019 | 26 Febbraio 2020 |
6 (LTS) | 3 Settembre 2019[13] | ≥ 7.2.0 | 25 Gennaio 2022 | 6 Settembre 2022 |
7 | 3 Marzo 2020[14] | ≥ 7.2.5 | 6 Ottobre 2020 | 3 Marzo 2021 |
8 | 8 Settembre 2020[15] | ≥ 7.3 | 26 Luglio 2022 | 24 Gennaio 2023 |
9 | 8 Febbraio 2022[16] | ≥ 8.0[17] | 8 Agosto 2024 | 6 Febbraio 2024 |
10 | 7 Febbraio 2023[16] | ≥ 8.1[18] | 6 Agosto 2024 | 4 Febbraio 2025 |
11 | 12 Marzo 2024[19] | ≥ 8.2[20] | 5 Agosto 2025 | 3 Febbraio 2026 |
12[21] | Q1 2025 | ≥ 8.2 | Q3 2026 | Q1 2027 |
Legenda | Vecchia versione, nessun supporto | Vecchia versione, ancora supportata | Versione corrente | Versione futura |
---|
Note
- ^ Web framework rankings | HotFrameworks, su hotframeworks.com. URL consultato il 30 luglio 2019.
- ^ Most popular and watched PHP projects, su github.com. URL consultato il 30 agosto 2014.
- ^ a b c (EN) Maks Surguy, History of Laravel PHP framework, Eloquence emerging, su Maks Surguy's blog on Technology Innovation, IoT, Design and Code, 27 luglio 2013. URL consultato il 30 luglio 2019.
- ^ (EN) Aijaz Mughal, Laravel Usage Statistics 2024, su Digital Marketing News and Insights | Blog – Aun Digital, 25 aprile 2024. URL consultato il 27 aprile 2024.
- ^ (EN) Laravel 5.1 is released, su Laravel News, 9 giugno 2015. URL consultato il 30 luglio 2019.
- ^ (EN) Laravel 5.3 is now released, su Laravel News, 23 agosto 2016. URL consultato il 30 luglio 2019.
- ^ (EN) Laravel 5.4 Is Now Released, su Laravel News, 24 gennaio 2017. URL consultato il 30 luglio 2019.
- ^ (EN) Laravel 6 Is Now Released, su Laravel News, 3 settembre 2019. URL consultato il 3 settembre 2019.
- ^ Ex Airlock, su twitter.com.
- ^ Release Notes - Laravel - The PHP Framework For Web Artisans, su laravel.com. URL consultato il 3 marzo 2020.
- ^ Changelog dettagliato Laravel 9, su laravel-news.com.
- ^ Release Date, su laravel.com. URL consultato il 30 luglio 2019.
- ^ Release Notes - Laravel - The PHP Framework For Web Artisans, su laravel.com. URL consultato il 24 agosto 2019.
- ^ (EN) Laravel, We are aiming to release Laravel 7.x on March 3rd., su @laravelphp, 12 febbraio 2020. URL consultato il 13 febbraio 2020.
- ^ Laravel 8 release date, su laravel.com.
- ^ a b Support Policy, su laravel.com.
- ^ Versione PHP dal blog, su laravel-news.com.
- ^ (EN) Laravel - The PHP Framework For Web Artisans, su laravel.com. URL consultato il 27 ottobre 2022.
- ^ laravel-news.com, https://laravel-news.com/laravel-11 Titolo mancante per url
url
(aiuto). - ^ (EN) Laravel - The PHP Framework For Web Artisans, su laravel.com. URL consultato il 9 febbraio 2023.
- ^ laravel.com, https://laravel.com/docs/11.x/releases Titolo mancante per url
url
(aiuto).
Altri progetti
Altri progetti
- Wikimedia Commons
Wikimedia Commons contiene immagini o altri file su Laravel
Collegamenti esterni
- (EN) Sito ufficiale, su laravel.com.
- (EN) Laravel, su GitHub.
- Repository sorgenti di Laravel, su github.com.
- (EN) Laravel, su Free Software Directory.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/64px-PHP-logo.svg.png)
- Composer
- PEAR
- HHVM
- HPHPc
- Parrot
- PeachPie
- Phalanger
- Quercus
- Zend Engine
- CakePHP
- CodeIgniter
- Drupal
- eZ Publish
- Fat-Free
- FuelPHP
- Horde
- Joomla!
- Laminas/Zend Framework
- Laravel
- Li3
- Lumen
- Midgard
- MODx
- Nette Framework
- Phalcon
- Pop PHP
- PHP-Fusion
- PRADO
- Qcodo
- Silex
- SilverStripe
- Symfony
- TYPO3
- WordPress
- XOOPS
- Yii
- Zeta Components
- Behat
- PHPUnit
- Lime (Symfony)
- Doctrine
- Propel
- PHP-GTK
- wxPHP
Categoria
Commons
V · D · M | |
---|---|
C++ | CppCMS · Wt |
CLI | ASP.NET (Core · AJAX · Dynamic Data · MVC · Razor · Web Forms) · Blazor · DNN · BFC · MonoRail · OpenRasta · Umbraco · WebSharper |
ColdFusion | CFWheels · ColdBox Platform · ColdSpring · Fusebox · Model-Glue |
Common LISP | Caveman2 · CL-HTTP · Weblocks |
Haskell | Yesod · Snap |
Java | AppFuse · Flexive · Grails · GWT · ICEfaces · ItsNat · JavaServer Faces · JHipster · Jspx · JWt · OpenXava · Play · Remote Application Platform · RIFE · Seam · Sling · Spring · Stripes · Struts · Tapestry · Vaadin · Vert.x · WebWork · Wicket · WaveMaker · ZK |
JavaScript | Angular/AngularJS · Backbone.js · Chaplin.js · Closure · Dojo Toolkit · Ember.js · Express.js · Ext JS · jQuery · Knockout · Meteor · MooTools · Next.js · Node.js · OpenUI5 · Prototype · React · Rico · script.aculo.us · Sencha Touch · SproutCore · Svelte · Vue.js · Wakanda |
Perl | Catalyst · Dancer · Mason · Maypole · Mojolicious · WebGUI |
PHP | CakePHP · CodeIgniter · Drupal · Fat-Free · FuelPHP · Flow · Grav · Gyroscope · Horde · Joomla! · Kohana · Laravel · Li3 · Midgard · MODX · Nette · Phalcon · PHP-Fusion · Pop PHP · PRADO · ProcessWire · Qcodo · Silex · SilverStripe · Symfony · TYPO3 · WordPress · XOOPS · Yii · Zend Framework |
Python | BlueBream · CherryPy · Django · Flask · Grok · Nevow · Pyjs · Pylons · Pyramid · Quixote · TACTIC · Tornado · TurboGears · web2py · Webware · Zope 2 |
Ruby | Camping · Merb · Padrino · Ruby on Rails · Sinatra |
Scala | Lift · Play · Scalatra |
Smalltalk | AIDA/Web · Seaside |
Altri | Vibe.d (D) · Application Express (PL/SQL) · Grails (Groovy) · Kepler (Lua) · OpenACS (Tcl) · Phoenix (Elixir) · Ash (Elixir) · SproutCore (JavaScript-Ruby) · Yaws (Erlang) |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Applications-internet.svg/25px-Applications-internet.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/12/Nuvola_apps_emacs.svg/25px-Nuvola_apps_emacs.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/46/Crystal_128_displayphone.png/24px-Crystal_128_displayphone.png)