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.
Per impostare valori che contengono spazi, racchiudili tra doppi apici.
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.Cifratura
Per cifrare un file di ambiente usa il comandoenv:encrypt.
.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.
Se vuoi fornire una tua chiave di cifratura, usa l’opzione --key.
La lunghezza della chiave che fornisci deve corrispondere alla lunghezza richiesta dal cifrario in uso. Di default Laravel usa il cifrario
AES-256-CBC, che richiede una chiave di 32 caratteri. Puoi usare qualsiasi cifrario supportato dal componente di cifratura di Laravel passando l’opzione --cipher..env e .env.staging, puoi indicare quale cifrare tramite l’opzione --env.
Nomi delle variabili leggibili
Quando cifri il file di ambiente, l’opzione--readable ti permette di mantenere visibili i nomi delle variabili cifrando solo i loro valori.
env:decrypt non richiede opzioni aggiuntive.
Quando usi l’opzione
--readable, i commenti e le righe vuote del file di ambiente originale non vengono inclusi nell’output cifrato.Aggiornare file di ambiente cifrati in formato leggibile
Quando aggiorni un file di ambiente cifrato in formato leggibile, Laravel conserva i valori non modificati e rimuove le variabili che non esistono più nel file di ambiente di origine.--force. Questo ti permette di cambiare la chiave di cifratura o di sostituire un file cifrato non valido.
Decifratura
Per decifrare un file di ambiente usa il comandoenv:decrypt. Questo comando richiede una chiave di decifratura, che Laravel recupera dalla variabile d’ambiente LARAVEL_ENV_ENCRYPTION_KEY.
--key.
env:decrypt, Laravel decifra il contenuto del file .env.encrypted e lo scrive nel file .env.
Usa l’opzione --cipher per decifrare con un cifrario personalizzato.
.env e .env.staging, puoi indicare quale decifrare tramite l’opzione --env.
--force.
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.