Laravel è un framework PHP leader nel settore, rinomato per la sua sintassi elegante, le potenti funzionalità e gli strumenti di facile utilizzo per gli sviluppatori. La sua architettura supporta un efficace sviluppo web in PHP, supportando la creazione di applicazioni scalabili e manutenibili.

Noi di Kinsta ci impegniamo a stare al passo con i tempi e ad abbracciare le tecnologie più recenti. Avendo un’ampia esperienza con le applicazioni Laravel, siamo entusiasti dei progressi inclusi nella sua ultima versione.

Laravel 11 introduce diverse funzioni innovative che aumentano la produttività degli sviluppatori e migliorano le prestazioni delle applicazioni. Dalla configurazione e dal debug semplificati alla maggiore flessibilità, questa versione migliora l’efficienza dello sviluppo e aiuta a creare applicazioni più robuste. Andiamo al sodo!

La rinnovata struttura delle directory in Laravel 11

Laravel 11 include una struttura di directory ridisegnata che migliora l’efficienza dello sviluppo. Questo cambiamento semplifica l’organizzazione dei file di progetto e riduce il codice di base incluso nelle versioni precedenti di Laravel.

L’eliminazione di alcune directory, come app/Exceptions e app/Http/Middleware, rende la struttura di Laravel 11 più pulita rispetto alle versioni precedenti. Ad esempio, le versioni precedenti includono nove middleware, molti dei quali è improbabile che vengano personalizzati. L’eliminazione di questa directory riduce al minimo l’ingombro del codice e ti permette di concentrarti sugli aspetti essenziali della tua base di codice. E se è necessario personalizzare i middleware, è possibile farlo tramite App/ServiceProvider.

Laravel 11 elimina anche la cartella config, cambiando il modo di gestire le configurazioni. Torneremo su questo cambiamento in una sezione successiva.

I vantaggi della nuova struttura di directory di Laravel includono:

  • Riutilizzabilità del codice: con meno codice boilerplate, è possibile concentrarsi sulla creazione di componenti modulari e riutilizzabili. Questa capacità di riutilizzare funzionalità comuni all’interno dell’applicazione favorisce un processo di sviluppo più efficiente.
  • Migliore condivisione delle conoscenze: una struttura di directory meno complessa facilita la condivisione delle conoscenze tra i membri del team e le persone che si avvicinano alla tecnologia. Una navigazione più semplice nella struttura del prodotto rende la collaborazione più fluida ed efficace.
  • Riduzione dei tempi di codifica: eliminando le directory e i file non necessari, gli sviluppatori passano meno tempo a lavorare con codice boilerplate non necessario. Codifica, debug e test più rapidi portano a una maggiore produttività.

Una struttura di directory semplificata offre un processo di sviluppo raffinato e consente un’implementazione più rapida di caratteristiche e funzionalità.

Maggiore flessibilità con i model cast

Laravel 11 sta passando al model cast basato sui metodi, cambiando il modo di gestire gli attributi all’interno di un modello di Laravel Eloquent, una rappresentazione di una tabella del database che funge da intermediario per le interazioni con quella tabella.

Nelle versioni precedenti di Laravel, si definivano gli attributi utilizzando un array properties. Con Laravel 11, si può specificare il cast del modello in un metodo giustamente chiamato casts().

Questo passaggio ai cast di modello basati sui metodi offre diversi vantaggi simili a quelli dei metodi o delle funzioni del codice. Uno dei vantaggi più significativi è la riutilizzabilità del codice. Includere la logica di casting all’interno dei metodi rende il codice più modulare e riutilizzabile. Inoltre, poiché il metodo casts() delinea il casting degli attributi, il codice diventa più leggibile e manutenibile.

È anche importante notare che Laravel 11 garantisce la retrocompatibilità con le versioni precedenti. Di conseguenza, si possono passare senza problemi le basi di codice esistenti all’utilizzo dell’approccio aggiornato di Laravel 11 al model casting. Questa compatibilità rende l’adozione di Laravel 11 un processo semplice, soprattutto se si ha già familiarità con le versioni precedenti.

Configurazione semplificata

Come accennato in precedenza, Laravel 11 apporta un cambiamento nella gestione della configurazione. Consolida le impostazioni di configurazione in un’unica fonte: il file .env. Si tratta di un notevole passo avanti rispetto alle versioni precedenti di Laravel, che diffondevano le configurazioni in più file.

La collocazione delle configurazioni esclusivamente nel file .env migliora notevolmente l’organizzazione. Inoltre, semplifica il flusso di lavoro dello sviluppo, rendendolo più intuitivo ed efficiente.

Un altro importante aggiornamento relativo alle configurazioni è la funzione cascade, con la quale si possono mettere a punto le proprie configurazioni rimuovendo le opzioni non necessarie che non si desidera personalizzare. Il risultato è uno sviluppo più compatto.

L’unico file .env elimina la necessità di avere più file e consente di memorizzare tutte le configurazioni rilevanti in un unico posto. Tuttavia, se si ritiene che il file .env stia diventando troppo grande, si può usare un comando per riportare il file di configurazione nella directory config. Ad esempio, php artisan config:publish auth genera il file auth.php nella cartella config.

La possibilità di recuperare configurazioni specifiche è un grande vantaggio per le organizzazioni.

Esperienza di debug migliorata con il nuovo tratto Dumpable

Il tratto Dumpable è una preziosa aggiunta a Laravel 11. Permette di utilizzare i consueti strumenti di debug all’interno delle classi, tra cui i metodi dd() e dump(). Questi metodi sono fondamentali durante il debug perché forniscono informazioni in tempo reale su un oggetto o una variabile.

Si noti che il tratto Dumpable probabilmente sostituirà gli attuali metodi dd e dump in una miriade di classi principali di Laravel, garantendo un’esperienza di debug coerente e coesa in tutto il framework.

Le innovazioni di Laravel 11 nella gestione delle route

Laravel 11 migliora notevolmente le prime versioni con una gestione consolidata delle route. Riduce il numero di file di route predefiniti da quattro a due: routes.php e console.php. Questo cambiamento è di grande impatto perché riduce al minimo il codice boilerplate e rende il framework più intuitivo.

È fondamentale notare che se si vogliono incorporare le route API nella propria applicazione, questa modifica comporterà il doverle scegliere deliberatamente. Questo meccanismo favorisce una struttura dell’applicazione più pulita e personalizzata, includendo le route API solo se necessario. Per generare il file api.php e integrare Laravel Sanctum, basta eseguire il comando php artisan install:api.

La trasmissione degli eventi in Laravel 11 segue un paradigma simile. Per attivare la funzionalità e creare il file channels.php, è necessario eseguire il comando php artisan install:broadcasting. In questo modo si organizza l’impostazione dei file e delle configurazioni essenziali, accelerando l’integrazione del broadcasting di eventi nelle applicazioni Laravel.

Nel complesso, queste modifiche favoriscono il passaggio a una struttura modulare e personalizzabile delle applicazioni. Poiché è possibile optare per funzioni specifiche, Laravel 11 offre un approccio più personalizzato alla gestione dei file di percorso rispetto alle versioni precedenti.

L’evoluzione del kernel HTTP di Laravel

Il kernel di Laravel è stato un componente fondamentale del framework, in quanto funge da punto di ingresso per le richieste HTTP e i comandi da terminale. Orchestrava il flusso di queste richieste, gestendo lo stack middleware, il routing e altri componenti essenziali che contribuiscono alla gestione delle richieste in entrata nell’applicazione.

Laravel 11 elimina il kernel di Laravel. Al suo posto utilizza la classe Bootstrap/App, che lega le interfacce essenziali al contenitore. Dopo aver configurato i componenti necessari, la classe Bootstrap/App restituisce l’istanza dell’applicazione. Questa separazione tra la creazione dell’istanza e l’esecuzione dell’applicazione e la gestione delle risposte offre un’architettura più modulare.

L’eliminazione del kernel di Laravel è un altro passo verso la minimizzazione del codice boilerplate. Poiché la classe Bootstrap/App si occupa della configurazione essenziale, è possibile concentrarsi sulla creazione delle funzionalità principali delle proprie applicazioni. Una volta che l’istanza di un’applicazione viene eseguita, la classe Bootstrap/App assicura la gestione delle richieste web necessarie, semplificando il processo di sviluppo e promuovendo una base di codice più organizzata.

Migrazioni predefinite consolidate per una maggiore efficienza

Con Laravel 11 è arrivata una revisione delle migrazioni predefinite. Nelle versioni precedenti, dalla 2014 alla 2019, le migrazioni predefinite erano numerose e distribuite in diversi file. L’ultima versione, invece, ha condensato questi file in soli due, offrendo agli sviluppatori un’esperienza più organizzata e facile da usare.

Questa riduzione dei file di migrazione predefiniti semplifica l’accesso e la gestione delle migrazioni generate, migliora la chiarezza delle strutture del database e riduce la confusione e gli errori potenziali.

Inoltre, grazie a una configurazione delle migrazioni predefinite più pulita e semplice, si può dedicare più tempo a concentrarsi sui requisiti specifici dei propri progetti anziché combattere con le complessità dei file di migrazione standard.

Le migrazioni predefinite ottimizzate di Laravel 11 contribuiscono a rendere più fluida l’esperienza di sviluppo, rafforzando la reputazione del framework di dare priorità alla semplicità e alla facilità d’uso.

PHP 8.2: il nuovo standard per Laravel 11

Un altro cambiamento fondamentale di Laravel 11 è la definizione di PHP 8.2 come requisito minimo. In Laravel 11, PHP 8.2 è l’opzione predefinita, con PHP 8.3 all’orizzonte. L’allineamento con gli ultimi progressi dell’ecosistema PHP garantisce la compatibilità di Laravel con le nuove (e imminenti) caratteristiche e ottimizzazioni del linguaggio PHP.

Supportando le ultime due versioni principali di PHP, Laravel 11 migliora le prestazioni, la sicurezza e l’esperienza degli sviluppatori. Se PHP 8.2 è il requisito minimo, i vostri progetti saranno a prova di futuro e potrete sfruttare appieno le potenzialità del linguaggio.

Riepilogo

Laravel 11 introduce aggiornamenti significativi che promettono di migliorare l’esperienza di sviluppo per voi, il vostro team e la comunità di sviluppatori in generale. Le ottimizzazioni delle prestazioni, il supporto alle ultime versioni di PHP e le funzioni semplificate del flusso di lavoro rendono lo sviluppo in PHP il più fluido ed efficiente possibile.

Questi miglioramenti si traducono in flussi di sviluppo più fluidi, migliori prestazioni delle applicazioni e un processo di sviluppo complessivamente più efficiente. Le potenti funzionalità del nostro servizio di Hosting di Applicazioni, come il ridimensionamento automatico, l’infrastruttura sicura e le prestazioni migliorate con le macchine più veloci di Google Cloud Platform, forniscono un ambiente ideale per la distribuzione delle applicazioni Laravel 11.

Non vediamo l’ora di vedere quali applicazioni realizzerete con Laravel 11 e come utilizzerete Kinsta per far crescere le vostre applicazioni Laravel!

Marcia Ramos Kinsta

I'm the Editorial Team Lead at Kinsta. I'm a open source enthusiast and I love coding. With more than 7 years of technical writing and editing for the tech industry, I love collaborating with people to create clear and concise pieces of content and improve workflows.