Menu

配置

配置

介绍

所有的 Lumen 框架的配置信息都存储在 .env文件中。

获取设置值

你可以在应用程序中的任何位置使用 config 辅助函数很容易的获取你的设置值。设置值可以通过「点」语法来获取,其中包括你想要访问的文件名字和选项。 你也可以指定一个默认值,当该设置选项不存在时就会返回默认值:

$value = config('app.locale');

若要在运行期间修改设置值, 请传递一个数组到 config 辅助函数:

config(['app.locale' => 'en']);

环境配置

对于应用程序运行的环境来说,不同的环境有不同的配置通常是很有用的。 例如,你可能希望在本地使用的缓存驱动不同于生产服务器所使用的缓存驱动。使用基于环境的配置很简单。

Lumen 利用 Vance Lucas 的 PHP 库 DotEnv 使得此项功能的实现变得非常简单。在新安装好的 Lumen 应用程序中,根目录会包含一个 .env.example 文件。你需要手动更改一下 .env.example 文件名为 .env当你创建你的应用时。

当程序收到请求时,.env 文件中列出的所有变量都会被加载到 PHP 的超全局变量 $ _ENV 中。 env 文件中变量的值可以用来覆盖你应用里面的配置,用法如下:

$debug = env('APP_DEBUG', true);

env 函数中的第二个参数是备用参数,当环境变量不存在时,将会使用备用参数。例如:如果上述代码片段中 APP_DEBUG 没有被设置,true 就会被当成备用数据返回。

根据本机服务器或者正式环境的不同,可以自由修改环境变量。但是, .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
发起讨论


暂无话题~