Introduzione
Tutti i file di configurazione del framework Laravel sono nella directoryconfig/. Ogni opzione ha un commento: apri i file per prendere confidenza con le opzioni disponibili.
Nei file di configurazione gestisci diversi valori centrali: informazioni di connessione al database, informazioni del server mail, URL dell’applicazione, chiavi di cifratura e altro.
Il comando about
Con il comando Artisan about puoi controllare una panoramica di configurazione, driver e ambiente dell’applicazione.
--only.
config:show.
Configurazione dell’ambiente (.env)
Spesso vuoi cambiare i valori di configurazione in base all’ambiente di esecuzione. Ad esempio, potresti voler usare driver di cache diversi in locale e in produzione. Per semplificare, Laravel usa la libreria PHP DotEnv. All’installazione, nella root dell’applicazione trovi il file.env.example con le variabili d’ambiente più comuni; durante l’installazione viene copiato automaticamente in .env.
Quando sviluppi in team è comodo aggiornare
.env.example e includerlo nel repository. Con valori segnaposto è chiaro a tutti quali variabili d’ambiente sono richieste.Sicurezza del file di ambiente
Laravel include comunque una funzionalità per cifrare il file di ambiente: in forma cifrata puoi salvarlo in modo sicuro nel controllo di versione.File di ambiente aggiuntivi
All’avvio dell’applicazione, Laravel verifica se sono impostate la variabile d’ambienteAPP_ENV o l’argomento CLI --env. Se specificato e se esiste un file .env.[APP_ENV], viene caricato quello. Altrimenti viene usato il file .env predefinito.
Tipi delle variabili d’ambiente
Tutte le variabili nel file.env vengono interpretate come stringhe, ma per consentire alla funzione env() di restituire tipi più vari sono previsti i seguenti valori speciali.
Valore in .env | Valore restituito da env() |
|---|---|
true | (bool) true |
(true) | (bool) true |
false | (bool) false |
(false) | (bool) false |
empty | (string) '' |
(empty) | (string) '' |
null | (null) null |
(null) | (null) null |
Lettura delle variabili d’ambiente
Tutte le variabili scritte nel file.env vengono caricate nella superglobal PHP $_ENV all’arrivo di una richiesta. All’interno dei file di configurazione puoi leggerne i valori con la funzione env().
Verifica dell’ambiente corrente
L’ambiente corrente è determinato dalla variabileAPP_ENV del file .env. Puoi ottenerlo con il metodo environment della facade App.
Cifratura del file di ambiente
I file di ambiente non cifrati non andrebbero salvati nel controllo di versione, ma Laravel offre la funzionalità di cifrarli..env viene cifrato e il contenuto cifrato salvato nel file .env.encrypted. La chiave di decifratura viene mostrata nell’output del comando: conservala in un password manager sicuro.
Per decifrare usa il comando env:decrypt.
Accesso ai valori di configurazione
Puoi accedere ai valori di configurazione da qualunque punto dell’applicazione tramite la facadeConfig o la funzione globale config(). Usa la “notazione dot” per combinare nome del file e nome dell’opzione.
Config::set() oppure passa un array a config().
Cache della configurazione
Per migliorare le prestazioni dell’applicazione, metti in cache tutti i file di configurazione in un unico file..env non viene più letto durante le richieste del framework o l’esecuzione dei comandi Artisan. Di conseguenza env() restituirà solo le variabili d’ambiente di sistema.
Per rimuovere la cache usa il comando config:clear.
Pubblicare i file di configurazione
Molti file di configurazione di Laravel sono già pubblicati nella directoryconfig/, ma alcuni file come cors.php o view.php non lo sono per impostazione predefinita.
Per pubblicare i file di configurazione non pubblicati usa il comando config:publish.
Modalità debug
L’opzionedebug in config/app.php determina quanto vengono mostrate all’utente le informazioni di errore. Questa opzione segue di default il valore della variabile d’ambiente APP_DEBUG nel file .env.
Modalità manutenzione
Quando l’applicazione è in modalità manutenzione, viene mostrata una vista personalizzata per tutte le richieste. Questo ti permette di “disabilitare” temporaneamente l’applicazione durante aggiornamenti o interventi di manutenzione.Attivare la modalità manutenzione
--refresh il browser si ricarica automaticamente dopo il numero di secondi indicato.
--retry viene impostata come valore dell’header HTTP Retry-After.
Bypass della modalità manutenzione
Per permettere l’accesso solo ad alcuni utenti tramite un token segreto usa l’opzione--secret.
--with-secret Laravel genera automaticamente il token.
Modalità manutenzione su più server
Di default Laravel gestisce la modalità manutenzione su file. In configurazioni con più server è comodo il metodo basato sulla cache.Pre-rendering della vista di manutenzione
Se eseguiphp artisan down durante il deploy, gli utenti che accedono mentre le dipendenze si aggiornano potrebbero vedere un errore. Per evitarlo, pre-renderizza la vista con l’opzione --render.
Disattivare la modalità manutenzione
Puoi personalizzare il template predefinito della modalità manutenzione creando
resources/views/errors/503.blade.php.Prossimi passi
Routing
Impara le basi del routing per collegare URL e controller.