Php Laravel如何解析.env文件?

Php Laravel如何解析.env文件?,php,laravel,symfony,laravel-5,Php,Laravel,Symfony,Laravel 5,我想模仿Laravel应用程序通过.env文件设置环境变量的方式 APP_ENV=local DB_DATABASE=fruits DB_USERNAME=fruituser DB_PASSWORD=secretpassword 因此,它可以在config.php中设置默认回退,如下所示: return [ 'env' => env('APP_ENV', 'production'), ]; 但是,我很难在框架代码中找到它解析.env中文本的位置,并将其转换为正确的PHP变量 我

我想模仿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\illighted\Foundation\helpers.php中找到了
env()
helper函数的定义:

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

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

    }
...
…但这会调用另一个名为
getenv()
的全局帮助函数,而这正是线索的所在


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

Laravel使用了这个图书馆


getenv是一个PHP函数,它将在PHP的网站上记录,据说,Laravel使用vlucas/dotenv解析.env文件![FACEPALM]我不敢相信我没有想到这可能是一个原生PHP的东西。非常感谢。我刚刚在项目文件中搜索了
'.env'