配置
配置
介绍
所有的 Lumen 框架的配置信息都存储在 .env
文件中。
获取设置值
你可以使用 config
辅助函数获取你的设置值,设置值可以通过「点」语法来获取,其中包含了文件与选项的名称。你也可以指定一个默认值,当该设置选项不存在时就会返回默认值:
$value = config('app.timezone');
若要在运行期间修改设置值,请传递一个数组至 config
辅助函数:
config(['app.timezone' => 'America/Chicago']);
环境配置
应用程序常常需要根据不同的运行环境设置不同的值。例如,你会希望在本机开发环境上有与正式环境不同的缓存驱动。只需通过配置文件就可轻松完成。
Lumen 使用 Vance Lucas 的 DotEnv PHP 函数库来实现项目内环境变量的控制,在安装好的全新 Lumen 应用程序里,在根目录下会包含一个 .env.example
文件。如果你通过 Composer 安装 Lumen,这个文件将自动被更名为 .env
,否则你只能手动更改文件名。
当你的应用程序收到请求时,这个文件所有的变量都会被加载到 PHP 超级全局变量 $_ENV
里。你可以使用辅助函数 env
来获取这些变量的值:
$debug = env('APP_DEBUG', true);
env
的第二个参数是备用数据,如果 APP_DEBUG
未设置的话,true
就会被当做备用数据返回。
根据本机服务器或者正式环境的需求的不同,可自由修改环境变量。但是,.env
文件不应该被提交到应用程序的版本控制系统,因为每个开发人员或服务器在使用应用程序时,可能需要不同的环境配置。
如果你是某个团队的开发者,建议将 .env.example
文件放进你的应用程序。通过样本配置文件里的预设值,你团队中的其他开发人员就可以清楚地知道,在运行你的应用程序时有哪些环境变量是必须有的。
获取目前应用程序的环境
应用程序的当前环境是由 .env
文件中的 APP_ENV
变量所决定的。你可以通过应用程序实例的 environment
方法来获取该值:
$environment = app()->environment();
你也可以传递参数至 environment
方法来确认当前环境是否与参数相符合:
if (app()->environment('local')) {
// 环境是 local
}
if (app()->environment('local', 'staging')) {
// 环境是 local 或 staging...
}