Skip to content
虚位以待
赞助商
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待
虚位以待

配置

介绍

Laravel 框架的所有配置文件都存储在 config 目录中。每个选项都有文档说明,因此可以随意浏览这些文件并熟悉可用的选项。

访问配置值

您可以从应用程序的任何地方使用全局 config 辅助函数轻松访问配置值。可以使用“点”语法访问配置值,其中包括您希望访问的文件和选项的名称。如果配置选项不存在,还可以指定默认值并返回:

php
$value = config('app.timezone');

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

php
config(['app.timezone' => 'America/Chicago']);

环境配置

根据应用程序运行的环境拥有不同的配置值通常很有帮助。例如,您可能希望在本地使用与生产服务器不同的缓存驱动程序。使用基于环境的配置很简单。

为此,Laravel 使用 Vance Lucas 的 DotEnv PHP 库。在全新的 Laravel 安装中,应用程序的根目录将包含一个 .env.example 文件。如果您通过 Composer 安装 Laravel,此文件将自动重命名为 .env。否则,您应该手动重命名该文件。

当您的应用程序收到请求时,此文件中列出的所有变量都将加载到 $_ENV PHP 超级全局变量中。但是,您可以在配置文件中使用 env 辅助函数从这些变量中检索值。事实上,如果您查看 Laravel 配置文件,您会注意到其中几个选项已经在使用此辅助函数:

php
'debug' => env('APP_DEBUG', false),

传递给 env 函数的第二个值是“默认值”。如果给定键没有环境变量存在,将使用此值。

您的 .env 文件不应提交到应用程序的源代码控制中,因为使用您的应用程序的每个开发人员/服务器可能需要不同的环境配置。

如果您与团队一起开发,您可能希望继续在应用程序中包含一个 .env.example 文件。通过在示例配置文件中放置占位符值,您团队中的其他开发人员可以清楚地看到运行应用程序所需的环境变量。

确定当前环境

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

php
$environment = App::environment();

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

php
if (App::environment('local')) {
    // 环境是本地的
}

if (App::environment('local', 'staging')) {
    // 环境是本地或暂存...
}

还可以通过 app 辅助方法访问应用程序实例:

php
$environment = app()->environment();

配置缓存

为了提高应用程序的速度,您应该使用 config:cache Artisan 命令将所有配置文件缓存到一个文件中。这将把应用程序的所有配置选项组合到一个文件中,框架将快速加载该文件。

您通常应该在生产部署过程中运行 php artisan config:cache 命令。此命令不应在本地开发期间运行,因为在应用程序开发过程中配置选项将频繁更改。

维护模式

当您的应用程序处于维护模式时,将为应用程序的所有请求显示自定义视图。这使得在更新或执行维护时“禁用”应用程序变得容易。默认中间件堆栈中包含了维护模式检查。如果应用程序处于维护模式,将抛出状态码为 503 的 HttpException

要启用维护模式,只需执行 down Artisan 命令:

php
php artisan down

要禁用维护模式,请使用 up 命令:

php
php artisan up

维护模式响应模板

维护模式响应的默认模板位于 resources/views/errors/503.blade.php。您可以根据需要自由修改此视图以适应您的应用程序。

维护模式与队列

当您的应用程序处于维护模式时,不会处理任何队列任务。一旦应用程序退出维护模式,任务将继续正常处理。

维护模式的替代方案

由于维护模式需要您的应用程序有几秒钟的停机时间,您可以考虑使用 Envoyer 等替代方案来实现 Laravel 的零停机时间部署。