Scopri le nuove entusiasmanti funzionalità 5.8 di Laravel

Pubblicato: 2022-01-02

Laravel, un eccezionale framework PHP creato da Taylor Otwell nel 2011 è il migliore tra tutti i framework PHP. È accessibile, potente, robusto e intreccia alcune applicazioni sorprendenti.

Questo framework PHP facilita gli sviluppatori nell'implementazione del pattern MVC astraendo le complesse funzionalità. Gli aggiornamenti sono indispensabili e servono solo al miglioramento del ciclo di vita dell'applicazione.

Laravel rilascia approssimativamente un aggiornamento ogni 5-6 mesi e anche quest'anno Laravel ha rilasciato la versione 5.8 (marzo'19) e non è disponibile per l'uso. Puoi assumere uno sviluppatore Laravel per portare a termine l'attività al più presto.

Il continuo miglioramento rispetto alle versioni precedenti ha portato alcune delle interessanti funzionalità per gli sviluppatori. Diamo una sbirciatina ad alcune delle incredibili funzionalità che questa nuova versione offrirà

  • Risoluzione automatizzata delle policy
  • Supporto al carbonio 2.0
  • Ha relazioni eloquenti uno-attraverso
  • Token guarding e hashing
  • TTL cache
  • Programmatore Configurazione del fuso orario
  • Artisan:: miglioramenti delle chiamate
  • Metodi di supporto per test di simulazione/spia
  • Miglioramenti del servizio artigianale
  • Metodo eloquente di ordine superiore
  • punto 3.0
  • Nuovi modelli di gestione degli errori

Risoluzione automatizzata dei criteri:

Le versioni precedenti di Laravel avevano modelli o policy in posizioni non convenzionali e dovevano essere registrate nella classe AuthServiceProvider. In questa versione i modelli e le polizze verranno archiviati in sedi convenzionali.

Non è più necessario registrare manualmente la politica di autorizzazione del modello. Questa nuova versione rileverà automaticamente i criteri seguendo le convenzioni di denominazione standard di Laravel.

Se le politiche che desideri registrare si trovano in un'altra posizione, registra una richiamata utilizzando

Gate::guessPolicyNamesUsing .

Puoi chiamare questo metodo dal metodo booth di AuthServiceProvider nel modo seguente:

 usa Illumina\Support\Facades\Gate;
Gate::guessPolicyNamesUsing(function ($modelClass) {
// restituisce il nome della classe della politica...
});

Supporto Carbon 2.0:

Buone notizie per gli sviluppatori, ora puoi fare in modo che la tua applicazione utilizzi CarbonImmutable come impostazione predefinita.

Questo pacchetto estende la classe Date e Time di PHP e rende molto semplice lavorare con Date e Time. La selezione della classe dipende dall'utente.

HasOneThrough Relazione eloquente:

Questa nuova funzionalità è quasi simile a quella offerta da Rails. Facciamo un esempio, supponiamo di avere tre modelli, fornitore, conto e storico conto. In parole semplici, un fornitore ha un account e un account ha una cronologia dell'account.

Nelle versioni precedenti, per ottenere la cronologia dell'account scrivevamo: $supplier->account->accountHistory. Ma ora, attraverso questa relazione eloquente, scriverai subito

 $history = $supplier->accountHistory

nell'intero modello di conto.

 funzione pubblica accountHistory()
{
Restituisce $this->hasOneThrough(AccountHistory::class, Account::class);
}

Hashing del token di guardia del token:

Con la funzione di protezione dei token, ora puoi salvare i token API come hash SHA-256. In precedenza il token dell'API veniva archiviato come token di testo normale che ora è stato migliorato. Ciò ha migliorato la sicurezza e l'archiviazione dei token generati.

TTL cache:

L'impostazione di memorizzazione nella cache da minuti è stata modificata in secondi. Questo miglioramento viene effettuato per un controllo più preciso e granulare per il tempo di scadenza. La funzionalità è conforme allo standard della libreria di cache PSR-16.

Inoltre, ricorda sempre di aggiornare la cache dell'applicazione a secondi.

 // Laravel 5.7 - Conserva l'oggetto per 5 minuti...
Cache::put('foo', 'bar', 10);

// Laravel 5.8 - Conserva l'oggetto per 5 secondi...
Cache::put('foo', 'bar', 10);

Configurazione del fuso orario del pianificatore:

Questa nuova versione di Laravel ti consente di personalizzare il fuso orario per un'attività elencata utilizzando il metodo del fuso orario.

 $schedule->comando('esegui')
-> ogni giorno()
->alle('15:00')
->timezone('America/Chicago');

Questa era considerata un'attività fastidiosa nella versione precedente poiché dovevi farlo per ogni attività pianificata. Ma con questo, devi solo definire un metodo chiamato ScheduleTimezone nel file app/Console/Kernel.php.

Le modifiche verranno quindi allegate a ogni pianificatore nell'elenco.

 /**
* Ottieni il fuso orario che dovrebbe essere utilizzato per impostazione predefinita per gli eventi programmati.
*
* @return \DateTimeZone|string|null
*/
pianificazione della funzione protettaTimezone()
{
ritorna 'America/Chicago';
}

Miglioramenti alla chiamata artigianale:

Puoi eseguire il comando Artisan usando il metodo Artisan::call in questa nuova versione. I comandi ora possono essere passati come un array in una singola stringa come indicato di seguito:

 Artisan::call('migrate:install --database=foo');

Miglioramenti al servizio artigianale:

Le versioni precedenti avevano la porta predefinita assegnata in 8000 su cui verrà eseguita l'applicazione. E se qualsiasi altro comando è in esecuzione su questa porta, probabilmente non servirà il nuovo comando.

La nuova versione eseguirà la scansione della porta fino a 8009 consentendo agli sviluppatori di eseguire più applicazioni contemporaneamente.

Metodi di supporto per test di simulazione/spia:

I finti test aiuteranno solo lo sviluppatore a rendere il codice più pulito e leggibile. I metodi mock e spy vengono aggiunti alla classe base del test case di Laravel. Questo metodo legherà automaticamente la classe da prendere in giro con il contenitore.

 funzione pubblica testBasicTest()
{
$this->mock(TransactionService::class, function($mock){
$mock->shouldReceive('find')->once()->with(1)->andReturn(['id' => 1, 'name' => 'foo'])
});
}

Metodo eloquente di ordine superiore o dove:

Nelle versioni precedenti, definiremmo la query con scope con "or" nei callback di chiusura. Con l'introduzione di un metodo oWhere di "ordine superiore", è possibile concatenare facilmente queste query di ambito collettivamente senza utilizzare chiusure. Per esempio:

 $users = App\User::emailVerified()->orWhere->active()->get();

punto 3.0:

Per gestire il nuovo file .env del tuo progetto, Laravel 5.8 supporterà il nuovo dotenv 3.0. Questo nuovo dotenv 3.0 supporta stringhe multilinea e spazi bianchi alla fine delle stringhe. Questa funzione sarebbe di grande aiuto dove sono necessarie chiavi API multilinea per la sicurezza.

Nuovi modelli di pagina di errore:

Vengono introdotte nuove pagine di errore con design molto minimalisti adatti a un'ampia gamma di siti Web e app. È anche possibile personalizzare le pagine di errore o importare la pagina di errore progettata in precedenza.

Ci sono molte società di sviluppo Laravel per lo sviluppo di applicazioni. Questa nuova versione è un tesoro di alcune delle incredibili funzionalità. Il contenuto sopra ha elencato alcuni dei notevoli miglioramenti e funzionalità estese nella nuova versione di Laravel 5.8.

Alcune delle funzionalità possono essere facilmente integrate nei siti Web per renderlo più funzionale e intuitivo.

Per aggiornare la tua applicazione in esecuzione alla versione 5.8 di Laravel , puoi consultare la guida all'aggiornamento e le note di rilascio sul sito ufficiale.