介绍

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

访问配置值

您可以config在应用程序的任何位置使用全局帮助器功能轻松访问配置值。可以使用“点”语法访问配置值,该语法包括文件名和希望访问的选项。如果配置选项不存在,还可以指定默认值,并将返回默认值:

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

要在运行时设置配置值,请将数组传递给config帮助器:

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

在使用配置文件之前,应使用该configure方法将其加载到应用程序中。这可以在您的文件中完成:bootstrap/app.php

  1. $app->configure('app');

环境配置

根据应用程序所运行的环境使用不同的配置值通常会很有帮助。例如,您可能希望在本地使用与在生产服务器上不同的缓存驱动程序。使用基于环境的配置很容易。
为了实现这一点,Lumen利用了Vance Lucas 的DotEnv PHP库。在全新的Lumen安装中,您的应用程序的根目录将包含一个文件。创建应用程序时,应将文件重命名为。.env.example``.env.example``.env
$_ENV当您的应用程序收到请求时,此文件中列出的所有变量将被加载到PHP超全局变量中。该env函数可用于检索环境变量的值:

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

传递给env函数的第二个值是“默认值”。如果给定键没有环境变量,则将使用此值。
您的.env文件不应提交给应用程序的源代码管理,因为使用该应用程序的每个开发人员/服务器都可能需要不同的环境配置。
如果与团队一起开发,则可能希望继续在应用程序中包含文件。通过将占位符值放在示例配置文件中,团队中的其他开发人员可以清楚地看到运行您的应用程序所需的环境变量。.env.example

确定当前环境

当前应用程序环境是通过文件中的APP_ENV变量确定的.env。您可以通过environment应用程序实例上的方法访问此值:

  1. $environment = app()->environment();

您也可以将参数传递给该environment方法,以检查环境是否匹配给定值。如有必要,您甚至可以将多个值传递给该environment方法。如果环境与任何给定值匹配,则该方法将返回true

  1. if (app()->environment('local')) {
  2. // The environment is local
  3. }
  4. if (app()->environment('local', 'staging')) {
  5. // The environment is either local OR staging...
  6. }