我想模仿Laravel应用程序通过.env
文件设置环境变量的方式。
APP_ENV=local
DB_DATABASE=fruits
DB_USERNAME=fruituser
DB_PASSWORD=secretpassword
然后它可以在config.php
中设置默认回退,如下所示:
return [
'env' => env('APP_ENV', 'production'),
];
但是,我无法深入挖掘框架代码,找到解析.env
中文本的位,并将其转换为适当的PHP变量。
我在env()
中找到了vendor\laravel\framework\src\Illuminate\Foundation\helpers.php
辅助函数的定义:
function env($key, $default = null)
{
$value = getenv($key);
if ($value === false) {
return value($default);
}
...
...但是这会调用另一个名为getenv()
的全局帮助函数,这就是路径变冷的地方。
我怀疑我们现在可能会达到Symfony级别,但是我找不到getenv()
的定义,我们将非常感谢您的帮助和指导。