Maison  >  Article  >  cadre php  >  La relation entre le fichier .env dans le framework laravel et le fichier de configuration dans le répertoire de configuration

La relation entre le fichier .env dans le framework laravel et le fichier de configuration dans le répertoire de configuration

齐天大圣
齐天大圣original
2020-12-11 21:50:161838parcourir

Peut-être que beaucoup d'enfants, comme moi, sont confus par le fichier .env et les fichiers de configuration dans le répertoire config lors de la lecture du document. Quelle est la relation entre eux. Aujourd’hui, revenons sur leur relation précédente.

La relation entre le fichier .env et le fichier de configuration du répertoire config

Tout d'abord, le document dit que laraveltous les fichiers de configuration sont enregistrés dans les fichiers du répertoire de configuration. Alors, à quoi sert exactement le fichier .env du répertoire racine ? Ouvrons le fichier .env et les fichiers config/app.php

# .env文件
APP_NAME=Laravel
……    
# app.php文件
'name' => env('APP_NAME', 'Larave'),

En voyant cela, je peux en gros deviner la signification générale : Si l'élément de configuration du fichier de configuration dans le répertoire config utilise la fonction env, alors si cette option est configurée dans le fichier .env, la valeur du fichier .env sera utilisée, sinon la valeur par défaut définie dans le fichier de configuration sera utilisée

Ensuite, pour vérifier ma supposition. Écrivez d'abord le code de test :

return config('app.name');

Ensuite, changez le APP_NAME du fichier .env en boy et changez la valeur par défaut dans le fichier app.php en girl

APP_NAME=boy
……
'name' => env('APP_NAME', 'girl'),

J'ai trouvé un intéressant problème, test Le résultat renvoyé par le code est toujours Laravel. Ensuite, j'ai redémarré php artisan serve, puis j'ai actualisé à nouveau et le résultat était un garçon. Cela a vérifié que ma supposition était correcte, mais cela a conduit à une autre spéculation : Si la valeur de configuration utilisée est dans le fichier .env, alors la modification de la valeur dans le fichier .env ne prendra pas effet immédiatement et doit être redémarrée. Valide.

Afin de vérifier une autre de mes suppositions, j'ai supprimé la ligne APP_NAME dans .env et j'ai redémarré. Le résultat du test est fille. Ensuite, j'ai changé girl en girl1, puis j'ai actualisé le navigateur et la valeur de retour était girl1. Ma conclusion s’avère donc correcte.

Pour résumer ici :

  • Si les éléments de configuration du fichier de configuration dans le répertoire de configuration utilisent la fonction env, alors si cette option est configurée dans le fichier .env, utilisez .env, sinon la valeur par défaut définie dans le fichier de configuration sera utilisée

  • Si la valeur de configuration utilisée est dans le fichier .env, la modification de la valeur dans le fichier .env ne sera pas effectuée. soit efficace immédiatement, vous devez redémarrer php artisan serve pour que cela soit effectif

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn