8
我想模仿Laravel應用程序通過.env
文件設置環境變量的方式。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()
的定義,您的幫助和指導將不勝感激。
GETENV是一個PHP函數,它會在PHP的網站記錄 –
https://github.com/vlucas/phpdotenv –
話雖這麼說,Laravel使用vlucas/dotenv來解析.env文件 –