2017-09-04 25 views
8

Tôi muốn bắt chước cách ứng dụng Laravel có các biến môi trường được đặt thông qua tệp .env.Laravel phân tích cú pháp tệp .env như thế nào?

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

fallbacks mặc định Vì vậy, nó sau đó có thể thiết lập trong config.php như thế này:

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

Tuy nhiên tôi đang gặp khó khăn đào bới mã khuôn khổ để tìm chút nơi nó phân tích các văn bản trong .env và biến nó vào các biến PHP thích hợp.

Tôi đã tìm thấy định nghĩa của hàm env() helper trong vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:

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

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

    } 
... 

... nhưng mà các cuộc gọi một hàm helper toàn cầu gọi getenv() và đó là nơi mà đường mòn đi lạnh.

Tôi cho rằng chúng tôi có thể xuống cấp Symfony ngay bây giờ nhưng tôi không thể tìm thấy định nghĩa của getenv() và sự trợ giúp và hướng dẫn của bạn sẽ được đánh giá cao.

+1

getenv là một hàm PHP, nó sẽ được ghi lại trên trang web của PHP –

+5

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

+0

Điều đó đang được nói, Laravel sử dụng vlucas/dotenv để phân tích các tệp .env –

Trả lời

Các vấn đề liên quan