E’ da poco ufficiale e dunque è da poco disponibile la versione Master Laravel, ovverosia la tanto decantata versione 8 di Laravel, il framework maggiormente amato dai developer PHP di tutto il mondo e non solo.

Dopo alcuni piccoli sussulti e dubbi sull’ufficialità “Master” della versione 8 ecco che ci siamo, da qualche giorno è tutto definitivo e approvato dal board di Laravel! Noi abbiamo già più volte parlato di Laravel 8 nel nostro canale Youtube come all’interno del nostro Video Corso. Abbiamo dedicato una diretta Facebook peraltro a tutte le novità Laravel 8 e di conseguenza anche un Video disponibile sul canale  Youtube di LaraMind.

Laravel tips and trips invece, che vedete qui sotto, è un altro Video che vi darà spunti utili su come “giochicchiare” con Laravel e con alcune sue splendide novità .

Inoltre abbiamo voluto aggiornare il Video Corso Laravel con una serie di slide che vi metteranno in condizione di gestire il routing secondo le nuove direttive dettate dalla Versione 8.

Ecco i passaggi tecnici che vi serviranno per fare ciò e gli accorgimenti che dovrete adottare

composer.json

  • –  Aprire in modifica il file ’composer.json’ presente nella radice del progetto
  • –  Modificare le seguenti voci:
    • ○  “php”: “^7.3”,
    • ○  “guzzlehttp/guzzle”: “^7.0.1”,
    • ○  “laravel/framework”: “^8.0”,
    • ○  “laravel/ui”: “^3.0» (se non presente aggiungerla nel require)
    • ○  “nunomaduro/collision”: “^5.0”,
    • ○  “phpunit/phpunit”: “^9.0”
  • Aggiornare Laravel alla versione 8

    Da terminale spostarsi nella radice del progetto e lanciare

    composer update

    Per verificare la versione di Laravel installata sempre da riga di comando e nella radice del nostro progetto lanciare:
    php artisan –-version

    Se tutto è andato a buon fine vedrete a schermo

    Laravel Framework 8.x.x

    Tutto ciò che devi sapere su Laravel 8

    Dopo 6 mesi dal rilascio della versione 7, nel Settembre 2020 il nostro framework PHP preferito ha ricevuto un nuovo importante aggiornamento: Laravel 8 è l’ultima major release e, come di consueto, sono state introdotte molte nuove importanti funzionalità che rendono il framework sempre più avanzato e performante.

    Dai un’occhiata al Video Corso Laravel di LaraMind — >

    Ma ora analizziamo insieme alcune delle principali novità di Laravel 8.

    Cartella Models

    Iniziamo da una piccola ma gradita modifica, che in realtà è un po’ un ritorno al passato: la cartella di default dei model torna ad essere app/Models invece di app, com’era ad esempio nella versione 4 di Laravel. Condividiamo molto questa scelta perché la nostra opinione è quella che avendo una cartella dedicata, l’organizzazione dei model sia migliore rispetto al recente passato. È importante comunque sottolineare che chi non gradisce la presenza della nuova cartella può semplicemente eliminarla: così facendo il comando artisan make:model aggiungerà il nuovo model direttamente nella cartella app.

    Laravel Jetstream

    Una importantissima novità riguarda l’applicazione di scaffolding che Laravel fornisce ai propri utenti: con la versione 8 del framework viene introdotto Jetstream, che fornisce una sorta di “scheletro” di base per partire con lo sviluppo di una nuova applicazione. Jetsream infatti fornisce nativamente delle funzioni basilari per moltissime app:

    • Registrazione utenti
    • Login
    • Autenticazione a 2 fattori
    • Gestione delle sessioni
    • Supporto alle API con Laravel Sanctum
    • Utilizzo di Tailwind CSS

    Dai un’occhiata al Video Corso Laravel di LaraMind — >

    Jetstream va a sostituire la vecchia UI con degli strumenti più avanzati e moderni che sicuramente velocizzerano la creazione delle nostre nuove piattaforme. Per creare la nuova applicazione con Jetstream basterà lanciare:

    laravel new nome-progetto –jet

    Squashing delle migrations

    Nei progetti di medie/grandi dimensioni, molto spesso il numero di file delle migrations raggiunge un numero considerevole. Ecco perché con Laravel 8 è stato introdotto lo squashing, ossia la “compressione” di più file di migrations in un unico file SQL. Eseguendo i comandi:

     

    php artisan schema:dump

    php artisan schema:dump –prune

     

    Il framework aggiungerà il nuovo file schema in database/schema e quando verranno lanciate le migrations eseguirà prima questo file e poi le migrations contenute nell’omonima cartella. Al momento, il supporto allo squashing è esclusivo di MySQL e Postgres.

    Dai un’occhiata al Video Corso Laravel di LaraMind — >

    Miglioramento nel caching delle route

    In Laravel, il caching delle routes viene gestito in un file PHP con un array contenente tutte le routes, al fine di velocizzare la nostra applicazione. Fino alla versione 7 del framework, il caching però poteva non funzionare a dovere se nelle routes veniva inserita una closure: con la nuova versione questo ostacolo viene finalmente superato! Adesso il caching funziona perfettamente anche se utilizzate le closure nelle vostre routes.

    Miglioramento della modalità Maintenance

     

    Utilizzando il comando:

     

    php artisan down

     

    La nostra applicazione viene messa in modalità maintenance e l’unico modo che avevamo per avere l’accesso era quello di mettere in white list uno o più indirizzi IP. Questa soluzione però può non essere molto funzionale nel caso il nostro indirizzo IP sia nel frattempo cambiato, oppure se vogliamo dare l’accesso a persone diverse. Ecco perché, con Laravel 8, possiamo utilizzare una password a nostra scelta:

     

    php artisan down –secret=la-mia-password

     

    Questa password diventerà una route vera e propria (ad esempio https://www.laramind.com/la-mia-password), e visitandone l’indirizzo, Laravel aggiungerà un cookie ed effettuerà un redirect alla homepage dell’applicazione, che poi potrà essere normalmente navigata.

    Batching dei job

    La nuova release di Laravel introduce una funzionalità molto utile e potente: infatti dalla versione 8 è possibile indicare al framework di eseguire un determinato gruppo di job e, solo al termine della loro completa esecuzione, il sistema invocherà 3 metodi di callback:

     

    $batch = Bus::batch([

    new deleteUser(User::find(5)),

    new deleteUser(User::find(32)),

    new deleteUser(User::find(189)),

    ])->then(function (Batch $batch) {

    // Tutti i job sono stati eseguiti correttamente

    })->catch(function (Batch $batch, Throwable $e) {

    // Catch dell’errore del primo job che fallisce

    })->finally(function (Batch $batch) {

    // Il batch è stato eseguito interamente

    })->dispatch();

     

    Vi abbiamo elencato alcune delle principali novità di Laravel 8 che sicuramente supporteranno lo sviluppo delle nostre applicazioni. Il team di Laravel è sempre al lavoro per migliorare il framework e anche questo ultimo major update ne è la dimostrazione: come sempre, nel corso dei prossimi mesi arriveranno dei nuovi aggiornamenti minori che affineranno le prestazioni e introdurranno ancora nuove feature.

    Dai un’occhiata al Video Corso Laravel di LaraMind — >

    LaraMind: punto di riferimento in Italia Laravel + Vue.js

    Tutto ciò di cui hai bisogno per quanto riguarda Laravel e Vue.js lo trovi sul blog di LaraMind, nei corsi e nelle lezioni private LaraMind che sono delle vere e proprie accelerazioni. LaraMind non solo offre percorsi avanzati di formazione per privati, la nostra offerta è anche indirizzata alle aziende tramite Corsi Custom, code reviews e programmi di mentorship. Per qualsiasi tipo di informazione scrivici a  amministrazione@laramind.com.