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

问题描述 投票:7回答:1

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

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

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

env('APP_URL')

VS

config('app.url')

那么我应该在我的应用程序中使用config()env()吗?

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

php laravel
1个回答
10
投票

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

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

您还可以使用配置缓存。

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

另一个原因是described in the docs

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

© www.soinside.com 2019 - 2024. All rights reserved.