我偶然发现了文档中的这个https://laravel.com/docs/5.4/configuration#configuration-caching,让我感到困惑。
当我想要一个环境变量时,我使用env()函数返回我想要的东西。根据上面的链接,它说我应该使用config()函数来确保在生产时我通过缓存访问值。
e.g。这些都返回相同的东西
env('APP_URL')
VS
config('app.url')
我应该在我的应用中使用config()
或env()
吗?
我假设如果我添加一个新的env变量,我还需要更新我的配置文件吗?
答案 0 :(得分:10)
您不应该直接在代码中使用env()
。使用config()
是一种很好的做法。在config
个文件中,使用env()
从.env
文件中获取数据。
在这种情况下,您可以在运行时或测试期间轻松覆盖配置值。
您也可以使用配置缓存。
为了提高应用程序的速度,您应该使用
config:cache
Artisan命令将所有配置文件缓存到一个文件中。
另一个原因是described in the docs:
您通常应该将php artisan config:cache命令作为生产部署例程的一部分运行。如果在部署过程中执行
config:cache
命令,则应确保只在配置文件中调用env
函数。