thesnackalicious / multidotenv
Laravel 5 的简单环境特异 .env 文件。
Requires
- php: >=5.4.0
- laravel/framework: 5.0.*
- vlucas/phpdotenv: ~1.0
This package is not auto-updated.
Last update: 2024-09-28 17:43:50 UTC
README
Laravel 5 的简单环境特异 .env 文件。
multidotenv 是一个 Laravel 5 的包,提供加载额外环境特异 .env 文件的功能。
如何工作
Laravel 5 使用 dotenv 包来加载根目录下的 .env
文件。multidotenv 扩展 Laravel 5,以便根据环境名称加载额外的 .env
文件。
例如,给定一个包含以下内容的 .env
文件
DB_HOST=localhost
DB_DATABASE=my_project
DB_USERNAME=root
DB_PASSWORD=root
以及一个包含以下内容的 .env.testing
文件
DB_DATABASE=my_project_testing
当运行命令 php artisan migrate --env=testing
时,加载的环境变量将是
DB_HOST=localhost
DB_DATABASE=my_project_testing
DB_USERNAME=root
DB_PASSWORD=root
请注意,如果存在,此包将始终加载 ' .env.' . $app->environment()
。这通常是 APP_ENV
设置的内容,但在使用 artisan 时可以通过传递 --env
标志来覆盖。如果这两个条件都不成立,Laravel 5 将默认使用 production
。
关于 HTTP 请求呢?
您可以使用上述“始终加载”功能来为 HTTP 请求加载环境特异的 .env
文件。
例如,在您的 .env
文件中将您的 APP_ENV
变量设置为 foo
。现在,即使是通过 HTTP 请求,如果存在,也会加载 .env.foo
文件。
安装
将 thesnackalicious/multidotenv
添加到您的 composer.json
文件
"require": {
"thesnackalicious/multidotenv": "dev-master"
}
使用 composer
安装此包。
$ composer update
更新 Web 核心和 Console 核心
将 bootrappers()
函数添加到 app/Http/Kernel.php
文件和 app/Console/Kernel.php
文件
/**
* Get the bootstrap classes for the application.
*
* @return array
*/
protected function bootstrappers()
{
$search = 'Illuminate\Foundation\Bootstrap\DetectEnvironment';
$replacement = 'TheSnackalicious\MultiDotEnv\DetectEnvironment';
return array_map(function($v) use ($search, $replacement) {
return $v == $search ? $replacement : $v;
}, $this->bootstrappers);
}