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.
getenv là một hàm PHP, nó sẽ được ghi lại trên trang web của PHP –
https://github.com/vlucas/phpdotenv –
Điều đó đang được nói, Laravel sử dụng vlucas/dotenv để phân tích các tệp .env –