配置信息
介绍
所有的 Lumen 框架的配置信息都存储在 .env
文件中。
获取配置信息
你可以在应用程序中的任意位置使用 config
辅助函数来获取你的配置值。配置值可以通过「点」语法来获取,其中包括你想要访问的文件名字和选项。 你也可以指定一个默认值,当该配置选项不存在时就会返回默认值:
$value = config('app.locale');
若要在运行期间修改设置值, 请传递一个数组到 config
辅助函数:
config(['app.locale' => 'en']);
在使用配件文件前,你应该使用 configure
方法将其加载到应用程序中。这些步骤应该在 bootstrap/app.php
文件中完成:
$app->configure('app');
环境配置
对于应用程序运行的环境来说,不同的环境有不同的配置通常是很有用的。 例如,你可能希望在本地使用的缓存驱动不同于生产服务器所使用的缓存驱动。使用基于环境的配置很容易实现。
Lumen 利用 Vance Lucas 的 PHP 库 DotEnv 使得此项功能的实现变得非常简单。在新安装好的 Lumen 应用程序中,根目录会包含一个 .env.example
文件。你创建应用时应该将 .env.example
文件重命名为 .env
。
当程序收到请求时,.env
文件中列出的所有变量都会被加载到 PHP 的超全局变量 $ _ENV
中。 env
函数可以用来获取环境变量中的值,用法如下:
$debug = env('APP_DEBUG', true);
env
函数中的第二个参数是「默认参数」,当环境变量不存在时,将会使用默认参数。
根据开发者的不同或者运行环境的不同,你的应用程序获得的环境变量将有所不同。因此,.env
文件不应该提交到应用程序的版本控制系统中。
如果你是某个团队的开发者,你会希望应用程序中包含 .env.example
文件。通过样本配置文件的预设值,团队中的其他开发者可以清楚的知道哪些环境变量是必须有的。
判定当前运行环境
应用程序的当前环境是由 .env
文件中的 APP_ENV
变量决定的。你可以通过应用程序实例的 environment
方法获取当前环境:
$environment = app()->environment();
你也可以通过传递参数到 environment
方法中, 来确认当前环境.。你还可以根据需要传递多个参数到 environment
方法中,如果当前环境与你传进去任何一个参数相符,将会返回 true
:
if (app()->environment('local')) {
// 当前环境是 local
}
if (app()->environment('local', 'staging')) {
// 当前环境是 local 或者 staging...
}
查看更多 Laravel 中文文档 信息