2017-09-04 51 views
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()的定義,您的幫助和指導將不勝感激。

+1

GETENV是一個PHP函數,它會在PHP的網站記錄 –

+5

https://github.com/vlucas/phpdotenv –

+0

話雖這麼說,Laravel使用vlucas/dotenv來解析.env文件 –

回答