Laravel è il framework PHP più popolare, con oltre 1,2 milioni di siti web costruiti su di esso. Dalla sua uscita nel giugno 2011, Laravel ha attirato l'attenzione di molti sviluppatori web, presentandosi come il framework PHP più utilizzato.

Laravel offre un ambiente di sviluppo rapido, sicurezza e buone guide per gli sviluppatori. Creato e mantenuto dal suo creatore Taylor Otwell, Laravel ha continuato ad apportare miglioramenti al suo software. Segue uno schema di controllo delle versioni semantico ed è attualmente alla versione 8.x.

Ecco otto nuove funzionalità da tenere d'occhio in Laravel 8.

1. Laravel Jetstream

Questa è la nuova funzionalità di scaffolding dell'applicazione in Laravel. Viene fornito con funzionalità predefinite come monitoraggio della sessione, accesso, registrazione, verifica e-mail, autenticazione a due fattori e gestione del team opzionale.

Jetstream offre la scelta di due opzioni di ponteggio: Livewire e Inertia.

Livewire è una libreria reattiva e dinamica che offre la possibilità di evitare di utilizzare un file

instagram viewer
Framework JavaScript come Vue.js. Usa il linguaggio predefinito per la creazione di modelli di Blade. Livewire offre anche la flessibilità di scegliere tra lasciare Blade o utilizzare Vue.js.

Inertia utilizza Vue.js come linguaggio di template.

Leggi di più: Cos'è Vue.js?

Offre tutta la potenza di Vue.js senza la necessità di instradamento lato client. Se Vue è la tua lingua preferita per la creazione di modelli, lo stack Inertia è una buona scelta.

2. Migration Squashing

Man mano che sviluppi la tua applicazione, le tue migrazioni potrebbero aumentare. Puoi "schiacciarli" in un unico file SQL per evitare il rumore. Questa opzione è disponibile per gli utenti MySQL o PostgreSQL.

Laravel creerà un file di schema quando il comando schema: dump viene eseguito. Quando provi a migrare il tuo database, Laravel migrerà prima il file SQL associato al tuo schema. Successivamente, se sono presenti migrazioni che non facevano parte dello schema, verranno eseguite.

3. CSS Tailwind

Laravel ora utilizza il framework CSS Tailwind come impaginatore predefinito. Tailwind è una prima libreria di utilità CSS che fornisce classi CSS monouso. Offre il vantaggio di avere le informazioni sullo stile in un unico posto piuttosto che averle sparse. Puoi applicare classi predefinite direttamente al tuo documento HTML.

Tailwind offre anche la possibilità di creare progetti reattivi. Offre un primo sistema mobile simile a quello di Bootstrap. Ciò implica che le utilità senza prefisso rispondano su tutte le dimensioni dello schermo mentre le utilità con prefisso entrano in vigore in punti particolari.

Tailwind offre anche una modalità just-in time abilitata per generare i tuoi stili su richiesta invece di avere tutto il rendering al momento della costruzione iniziale. Questo lo rende più veloce rispetto all'utilizzo dei normali CSS. Un altro vantaggio offerto da questo è che non è necessario eliminare gli stili di produzione inutilizzati, offrendo la possibilità di utilizzare il codice in più ambienti.

È anche interessante notare che Laravel Jetstream è stato costruito utilizzando Tailwind.

4. Batch di lavoro

È possibile utilizzare questa funzione per eseguire un batch di lavori in un dato momento ed eseguire una o più azioni al termine della loro esecuzione. Il Facciata di autobus fornisce un metodo batch che consente di inviare i lavori.

Puoi eseguire questa operazione in tandem con altri callback di completamento come catturare, poi e finalmente per aggiungere funzionalità ai tuoi lavori.

usa App \ Jobs \ ProcessPodcast;
usa App \ Podcast;
usa Illumina \ Bus \ Batch;
usa Illuminate \ Support \ Facades \ Bus;
utilizzare Throwable;
$ batch = Bus:: batch ([
nuovo ProcessPodcast (Podcast:: find (1)),
nuovo ProcessPodcast (Podcast:: find (2)),
nuovo ProcessPodcast (Podcast:: find (3)),
nuovo ProcessPodcast (Podcast:: find (4)),
nuovo ProcessPodcast (Podcast:: find (5)),
]) -> quindi (function (Batch $ batch) {
// Tutti i lavori sono stati completati con successo ...
}) -> catch (function (Batch $ batch, Throwable $ e) {
// Rilevato errore del primo lavoro batch ...
}) -> finalmente (function (Batch $ batch) {
// L'esecuzione del batch è terminata ...
}) -> dispatch ();
return $ batch-> id;

Per iniziare è necessario creare una tabella di migrazione che conterrà i metadati del lavoro come i tassi di completamento. Usa il comando php artisan queue: batches-table per farlo. Poi php artisan migrate per migrarli. Ora puoi definire i tuoi lavori batchable e poi inviarli quando sei pronto.

5. Classi Model Factory

Per prima cosa, discutiamo delle fabbriche di modelli. Questi vengono utilizzati per eseguire il seeding dei database con dati di test. Questi dati falsi sono importanti a scopo di test prima che vengano inseriti dati utente reali.

In Laravel 8, le precedenti classi di modelli Eloquent sono state completamente sostituite con fabbriche basate su classi. Con questo, ora puoi gestire gli stati degli oggetti semplicemente usando i metodi. Questi metodi in genere chiamano il file stato() metodo, che è dato nella classe base factory Laravel. Il stato() metodo accetta come argomento una funzione che accetterà un array di attributi assegnati alla fabbrica.

6. Manutenzione migliorata

In precedenza, Laravel presentava un elenco di indirizzi IP consentiti che era possibile utilizzare per accedere all'applicazione in modalità di manutenzione. Questo è stato rimosso e sostituito con una più semplice soluzione "segreta". È possibile specificare il token di bypass utilizzando il segreto opzione.

Mentre sei in modalità di manutenzione, puoi accedere all'URL della tua applicazione e Laravel trasmetterà automaticamente il cookie di bypass al tuo browser. Una volta emesso il cookie, accederai normalmente all'applicazione come se non fosse in modalità di manutenzione.

I tuoi utenti potrebbero riscontrare errori se utilizzi PHP piumino artigianale durante la distribuzione. Per evitare ciò, Laravel offre la possibilità di eseguire il rendering di una visualizzazione in modalità di manutenzione che verrà restituita ogni volta che viene effettuata una richiesta. È possibile eseguire il pre-rendering di un modello utilizzando l'opzione di rendering nel comando giù.

7. Aiutanti per il test del tempo

Laravel ora include la capacità di consentirti di manipolare l'ora corrente. Hai la possibilità di utilizzare i tuoi attributi di tempo come millisecondi, ore, giorni e così via.

funzione pubblica testTimeCanBeManipulated ()
{
// Viaggia nel futuro ...
$ this-> travel (5) -> milliseconds ();
$ this-> travel (5) -> seconds ();
$ this-> travel (5) -> minutes ();
$ this-> travel (5) -> hours ();
$ this-> travel (5) -> days ();
$ this-> travel (5) -> weeks ();
$ this-> travel (5) -> years ();
// Viaggio nel passato ...
$ this-> travel (-5) -> hours ();
// Viaggia in un tempo esplicito ...
$ this-> travelTo (now () -> subHours (6));
// Torna indietro al tempo presente ...
$ this-> travelBack ();
}

Queste funzioni di supporto rendono il tuo lavoro pulito e facile da seguire dando nomi descrittivi ai metodi.

8. Limitazione della velocità migliorata

La limitazione della velocità consente di gestire la quantità di traffico ricevuta su un determinato percorso o gruppo di percorsi. Ciò può essere ottenuto utilizzando il middleware dell'acceleratore. Il middleware dell'acceleratore prende il nome del limitatore di velocità che si desidera utilizzare su un percorso. Se la richiesta in entrata supera un determinato limite di velocità, viene restituito un codice di richiesta HTTP (429).

In Laravel 8, il limitatore di velocità è stato costruito con maggiore flessibilità pur mantenendo la compatibilità con le versioni precedenti. La funzione di richiamata del limitatore di velocità consente di creare dinamicamente limiti di velocità adeguati stabiliti sugli utenti autenticati o sulle richieste in arrivo.

Tempi entusiasmanti per Laravel

Laravel è facile da imparare e fornisce un'elaborata guida per sviluppatori con esempi facili da seguire. Fornisce correzioni di bug e patch su base quasi settimanale e rilasci importanti ogni anno (intorno a settembre). Se hai bisogno di ulteriore aiuto, Laravel fornisce la piattaforma Laracasts dove puoi ottenere aiuto da esperti. Tuttavia, la piattaforma offre lezioni di sviluppo web a pagamento.

Per uno sviluppatore web, Laravel è un'abilità indispensabile. È open source, gratuito e con una community di oltre 40.000 utenti. È una tecnologia di cui vale la pena tenere traccia.

E-mail
5 framework web che vale la pena imparare per gli sviluppatori

Ti interessa imparare lo sviluppo web avanzato? Evita di scrivere codice ripetitivo usa invece questi framework di sviluppo web.

Leggi Avanti

Argomenti correlati
  • Programmazione
  • Sviluppo web
  • Programmazione PHP
Circa l'autore
Jerome Davidson (2 articoli pubblicati)Altro di Jerome Davidson

Iscriviti alla nostra Newsletter

Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!

Ancora un passo…!

Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.

.