Quelle est la différence entre l'utilisation env('APP_ENV'), config('app.env") ou App::l'environnement() pour obtenir de l'environnement d'application?
Quelle est la différence entre l'utilisation env('APP_ENV')
, config('app.env')
ou App::environment()
pour obtenir de l'environnement d'application?
Je sais que le env('APP_ENV')
volonté de $_ENV
, config('app.env')
lit la configuration et App::environment()
est une abstraction de tous. Et à mon avis, l'avantage, c'est même ce. Abstraction.
Je ne sais pas si il y a d'autres différences, comme le niveau de performance ou de sécurité
Il n'y a pas de réel différences (comme la valeur vient de la même place: le .env), mais en règle générale, vous devez compter sur
config()
plutôt que env()
directement si vous souhaitez mettre en cache vos valeurs de configuration.OriginalL'auteur Miguel Borges | 2016-10-13
Vous devez vous connecter pour publier un commentaire.
Je me suis senti sur elle. Lors de la cache de votre fichier de configuration, env () (parfois?) marche pas droit. Donc ce que j'ai trouvé:
À partir d'ici:
https://laracasts.com/discuss/channels/general-discussion/env-not-reading-variables-sometimes
Mise à JOUR:
env() appelle travailler aussi longtemps que vous n'utilisez pas de php artisan config:cache. Il est donc très dangereux car il va souvent de travail alors que le développement mais échoue sur la production. Voir le guide de mise à niveau: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0
Mise à JOUR de Laravel 5.6:
Laravel recommande désormais dans son la documentation à utiliser
et décrit que env (), c'est juste pour récupérer les valeurs d' .env dans les fichiers de config. Mais c'est juste pour la config('app.env") et ne fonctionne pas pour d'autres variables comme la config('app.debug').
Il est config('app.env') pas de config('APP_ENV')
OriginalL'auteur ndberg
Une chose à considérer est peut-être le facteur de commodité de passage de la chaîne de
app()->environment()
afin de valider votre environnement actuel.OriginalL'auteur JofryHS
Vous avez deux également de bonnes options
ou
app()->environnement() est utilisée par Bugsnag, regardez dans la documentation ici il dit
OriginalL'auteur Yevgeniy Afanasyev
Si vous utilisez le
config:cache
commande durant le déploiement, vous devez vous assurer que vous êtes seulement l'appel de laenv
fonction dans vos fichiers de configuration, et pas de n'importe où ailleurs dans votre application.Si vous appelez à l'env à partir de votre application, il est fortement recommandé que vous ajoutez des valeurs appropriées de configuration de vos fichiers de configuration et appel env à partir de cet emplacement au lieu de cela, vous permettant de convertir vos
env
appels pour appels config.Ajouter un env option de configuration de votre
app.php
fichier de configuration qui ressemble à la suivante:Plus: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0
OriginalL'auteur Adam Kozlowski