即使提供默认值,env帮助程序也将返回null

时间:2019-12-23 23:14:25

标签: laravel

在我的.env中,我得到了这两个

ATLAS_RELEASES=null
ATLAS_DOWNLOAD=null

在我自己的配置文件中,我有这个

    'releases_url' => env('ATLAS_RELEASES', $baseUrl . 'atlas/raw/master/releases.json'),
    'download_url' => env('ATLAS_DOWNLOAD', $baseUrl . 'atlas/releases/download'),

一旦某些代码运行,它将使用

    $relasesUrl = config('releases_url');
    $downloadUrl = config('download_url');
返回

null而不是我在配置文件中指定的第二个选项。由于我没有在配置文件之外使用.env,所以我想知道为什么会出现这种情况吗?

仅当我从.env文件中完全删除这两个文件时,以上方法才有效

ATLAS_RELEASES
ATLAS_DOWNLOAD

有什么想法为什么会发生这种奇怪的行为吗?

1 个答案:

答案 0 :(得分:1)

只要键存在于.env文件中,无论该键是否为null或根本没有值,都将使用该键。

https://laravel.com/docs/6.x/configuration#retrieving-environment-configuration

  

传递给env函数的第二个值是“默认值”。 如果给定键没有环境变量,将使用此值。