Laravel如何解析.env文件?

14

我希望能够模仿Laravel应用程序通过.env文件设置环境变量的方式。

APP_ENV=local
DB_DATABASE=fruits
DB_USERNAME=fruituser
DB_PASSWORD=secretpassword

因此,可以在config.php中设置默认回退,如下所示:

return [
    'env' => env('APP_ENV', 'production'),
];

然而我在浏览框架代码时遇到了困难,无法找到解析.env文本并将其转换为正确的PHP变量的部分。

我已经在vendor\laravel\framework\src\Illuminate\Foundation\helpers.php中找到了env()帮助函数的定义:

function env($key, $default = null)
{
    $value = getenv($key);

    if ($value === false) {
        return value($default);

    }
...

......但是它调用了另一个全局的辅助函数getenv(),这就是问题的症结所在。

我怀疑现在我们可能已经到了Symfony的层面,但遗憾的是我找不到getenv()的定义,非常感谢您的帮助和指导。


1
getenv是一个PHP函数,它将在PHP的网站上有详细文档记录。 - Chris Forrence
7
https://github.com/vlucas/phpdotenv - online Thomas
话虽如此,Laravel使用vlucas/dotenv来解析.env文件。 - Chris Forrence
啊![扶额]我简直不敢相信我没想到那可能是PHP本身的问题。谢谢! - Martin Joiner
1
我刚在项目文件中搜索了 '.env'搜索结果 - Orkhan Alikhanov
显示剩余4条评论
1个回答

10

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接