Introduction
Tous les fichiers de configuration du framework Laravel sont stockés dans le répertoireconfig/. Chaque option est commentée : ouvrez les fichiers pour découvrir les options disponibles.
Ils gèrent de nombreux paramètres essentiels : connexion à la base de données, serveur d’e-mails, URL de l’application, clé de chiffrement, etc.
Commande about
La commande Artisan about affiche un aperçu de la configuration, des drivers et de l’environnement de l’application.
--only.
config:show est pratique.
Configuration d’environnement (.env)
On souhaite souvent modifier les valeurs de configuration selon l’environnement (par exemple, un driver de cache différent entre local et production). Laravel s’appuie sur la bibliothèque PHP DotEnv. Lors d’une nouvelle installation, un fichier.env.example contenant les variables d’environnement usuelles est présent à la racine, et il est automatiquement copié en .env pendant l’installation.
Pour un travail en équipe, gardez
.env.example versionné et à jour. Avec des valeurs placeholders, les autres développeurs savent immédiatement quelles variables d’environnement configurer.Sécurité du fichier d’environnement
Laravel propose toutefois une fonctionnalité de chiffrement du fichier d’environnement : dans sa forme chiffrée, il peut être stocké en toute sécurité dans le dépôt.Fichiers d’environnement supplémentaires
Au démarrage, Laravel vérifie la variableAPP_ENV ou l’argument CLI --env. Si présent, il charge le fichier .env.[APP_ENV] s’il existe. Sinon, il utilise le fichier .env par défaut.
Types des variables d’environnement
Toutes les variables du.env sont analysées comme des chaînes, mais des valeurs spéciales permettent à env() de retourner d’autres types.
Valeur dans .env | Retour de env() |
|---|---|
true | (bool) true |
(true) | (bool) true |
false | (bool) false |
(false) | (bool) false |
empty | (string) '' |
(empty) | (string) '' |
null | (null) null |
(null) | (null) null |
Récupération des variables d’environnement
Toutes les variables du.env sont chargées dans la superglobale $_ENV à la réception d’une requête. Dans les fichiers de configuration, récupérez-les via env().
Vérifier l’environnement actuel
L’environnement courant est déterminé parAPP_ENV. Utilisez la méthode environment de la façade App.
Chiffrement du fichier d’environnement
Un fichier.env non chiffré ne doit pas être versionné, mais Laravel permet de le chiffrer.
.env est chiffré dans .env.encrypted. La clé de déchiffrement s’affiche en sortie de commande : conservez-la dans un gestionnaire de mots de passe sécurisé.
Pour déchiffrer :
Accès aux valeurs de configuration
Utilisez la façadeConfig ou le helper global config() pour accéder aux valeurs depuis n’importe où. Utilisez la « notation point » : nom de fichier et nom d’option.
Config::set() ou passez un tableau à config().
Cache de configuration
Pour améliorer les performances, mettez toutes les configurations en cache dans un seul fichier..env n’est plus lu pendant les requêtes ni pour les commandes Artisan. env() ne renvoie alors que les variables système.
Pour vider le cache :
Publication des fichiers de configuration
Beaucoup de fichiers sont déjà publiés dansconfig/, mais certains (cors.php, view.php, etc.) ne le sont pas par défaut.
Publiez-les avec config:publish.
Mode debug
L’optiondebug de config/app.php détermine le niveau d’information d’erreur affiché à l’utilisateur. Par défaut, elle suit la valeur de APP_DEBUG dans .env.
Mode maintenance
Quand l’application est en mode maintenance, une vue personnalisée est affichée pour toutes les requêtes. Cela permet de la « désactiver » temporairement pendant une mise à jour ou une opération de maintenance.Activer le mode maintenance
--refresh recharge automatiquement le navigateur après le nombre de secondes indiqué.
--retry définit la valeur de l’en-tête HTTP Retry-After.
Contourner le mode maintenance
Utilisez--secret pour n’autoriser que certains utilisateurs via un token.
--with-secret, Laravel génère automatiquement le token.
Mode maintenance sur plusieurs serveurs
Par défaut, Laravel gère la maintenance via un fichier. Pour un déploiement multi-serveurs, préférez la méthode basée sur le cache.Pré-rendu de la vue maintenance
Pendantphp artisan down, si des utilisateurs accèdent au site alors que les dépendances sont en cours de mise à jour, ils peuvent voir une erreur. Utilisez --render pour pré-rendre la vue.
Désactiver le mode maintenance
Personnalisez le template par défaut du mode maintenance en créant
resources/views/errors/503.blade.php.Prochaines étapes
Routage
Apprenez les bases du routage qui lie URL et contrôleurs.