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

时间:2017-12-21 17:13:02

标签: php laravel

我偶然发现了文档中的这个https://laravel.com/docs/5.4/configuration#configuration-caching,让我感到困惑。

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

e.g。这些都返回相同的东西

env('APP_URL')

VS

config('app.url')

我应该在我的应用中使用config()env()吗?

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

1 个答案:

答案 0 :(得分:10)

您不应该直接在代码中使用env()。使用config()是一种很好的做法。在config个文件中,使用env().env文件中获取数据。

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

您也可以使用配置缓存。

  

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

另一个原因是described in the docs

  

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