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