我应该在配置文件外使用env()吗?

hdi*_*fen 7 php laravel

我在文档中偶然发现了这个https://laravel.com/docs/5.4/configuration#configuration-caching,这让我有点困惑.

当我想要一个环境变量时,我使用env()函数返回我想要的东西.根据上面的链接,它说我应该使用config()函数来确保在生产时我通过缓存访问值.

例如,这些都返回相同的东西

env('APP_URL')

VS

config('app.url')

我应该在我的应用程序中使用config()还是env()内部?

我假设如果我添加一个新的env变量,我还需要更新我的配置文件?

Ale*_*nin 10

你永远不应该env()直接使用代码.这是一个很好的练习方法config().在config文件中用于env().env文件中获取数据.

在这种情况下,您可以在运行时或测试期间轻松覆盖配置值.

您还可以使用配置缓存.

为了提高应用程序的速度,您应该使用config:cacheArtisan命令将所有配置文件缓存到单个文件中.

另一个原因在文档中描述:

您通常应该将php artisan config:cache命令作为生产部署例程的一部分运行.如果config:cache在部署过程中执行该命令,则应确保只env从配置文件中调用该函数.