Menu

配置信息

配置

介绍

所有的 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 China 社区
上一篇 下一篇
讨论数量: 0
发起讨论


暂无话题~