Memorizzazione nella cache della configurazione La configurazione di laravel si diffonde in dozzine di file e including
ognuno di essi per ciascuna richiesta è un processo costoso. Per combinare tutti i tuoi file di configurazione in uno, usa:
php artisan config:cache
Tieni presente che qualsiasi modifica alla configurazione non avrà alcun effetto una volta memorizzata nella cache. Per aggiornare la cache di configurazione, eseguire nuovamente il comando precedente. Nel caso in cui desideri eliminare completamente la cache di configurazione, esegui
php artisan config:clear
Caching delle rotte Anche l'
instradamento è un'attività costosa in laravel. Per memorizzare nella cache il file routes.php eseguire il comando seguente:
php artisan route:cache
Ricorda che non funziona con le chiusure. Nel caso in cui tu stia usando le chiusure, questa è una grande opportunità per spostarle in un controller, poiché il comando artisan genererà un'eccezione quando si tenta di compilare rotte che sono vincolate a chiusure invece di metodi di controller appropriati. Come per la cache di configurazione, qualsiasi modifica a route.php non avrà più alcun effetto. Per aggiornare la cache, esegui il comando precedente ogni volta che apporti una modifica al file dei percorsi. Per eliminare completamente la cache del percorso, esegui il comando seguente:
php artisan route:clear
Ottimizzazione della mappa di classe
Non è raro che un progetto di medie dimensioni venga distribuito su centinaia di file PHP. Come ci impongono i buoni comportamenti di codifica, ogni cosa ha il suo file. Questo, ovviamente, non è privo di inconvenienti. Laravel deve includere dozzine di file diversi per ogni richiesta, il che è una cosa costosa da fare.
Quindi, un buon metodo di ottimizzazione è dichiarare quali file vengono utilizzati per ogni richiesta (questo è, ad esempio, tutti i provider di servizi, middleware e pochi altri) e combinarli in un solo file, che verrà successivamente caricato per ogni richiesta. Questo non è diverso dal combinare tutti i tuoi file javascript in uno, quindi il browser dovrà fare meno richieste al server.
I file di compilazione aggiuntivi (di nuovo: fornitori di servizi, middleware e così via) dovrebbero essere dichiarati da te in config / compile.php, nella chiave files. Una volta messo lì tutto l'essenziale per ogni richiesta fatta alla tua app, concatenali in un unico file con:
php artisan optimize --force
Ottimizzazione del caricamento automatico del compositore
Questo non è solo per laravel, ma per qualsiasi applicazione che fa uso di composer.
Spiegherò prima come funziona l'autoload della PSR-4, poi ti mostrerò quale comando dovresti eseguire per ottimizzarlo. Se non sei interessato a sapere come funziona il compositore, ti consiglio di passare direttamente al comando della console.
Quando chiedi al compositore la App\Controllers\AuthController
classe, prima cerca un'associazione diretta nella mappa della classe. La mappa di classe è un array con associazioni 1 a 1 di classi e file. Poiché, ovviamente, non hai aggiunto manualmente la classe Login e il suo file associato alla mappa di classe, il compositore andrà avanti e cercherà negli spazi dei nomi. Poiché App è uno spazio dei nomi PSR-4, fornito di default con Laravel ed è associato alla app/
cartella, il compositore proverà a convertire il nome della classe PSR-4 in un nome file con procedure di manipolazione di stringhe di base. Alla fine, suppone che App\Controllers\AuthController
debba trovarsi in un file AuthController.php, che si trova in una Controllers/
cartella che dovrebbe essere fortunatamente nella cartella dello spazio dei nomi, che èapp/
.
Tutto questo duro lavoro solo per ottenere che la App\Controllers\AuthController
classe esista nel app/Controllers/AuthController.php
file. Per fare in modo che il compositore esegua la scansione dell'intera applicazione e crei associazioni dirette 1 a 1 di classi e file, eseguire il comando seguente:
composer dumpautoload -o
Tieni presente che se hai già eseguito php artisan optimisation --force, non devi più eseguire questo. Poiché il comando di ottimizzazione dice già al compositore di creare un caricamento automatico ottimizzato.