文件设置将设置值存储在文件中,并且可以被环境变量或应用程序文件覆盖。
插件可以使用基于文件的配置文件,位于插件目录下的config子目录中。以下是插件的config目录示例。
├── 插件
| └── acme
| └── todo
| └── config
| ├── config.php ← 配置文件
| └── custom.php ← 配置文件
配置文件是用于定义并返回一个数组的 PHP 脚本。以下是一个示例配置文件config.php。
return [
'maxItems' => 10,
'display' => 5
];使用 Config 门面来访问配置文件中定义的配置值。 get 方法接受插件和配置名称(第一个参数),格式如下:acme.demo::maxItems。 您也可以定义一个默认值(第二个参数),以便在配置参数不存在时返回。
$maxItems = Config::get('acme.demo::maxItems', 50);为配置文件使用不同的文件名将影响键名。 例如,一个名为 custom.php 的配置文件将使用 custom 作为键名的前缀,使用以下格式:acme.demo::custom.maxItems。 以下示例基于一个名为 custom.php 的配置文件。
$maxItems = Config::get('acme.demo::custom.maxItems', 50);一个插件配置文件可以被应用程序通过创建一个匹配的本地配置文件来覆盖, 例如,要覆盖 plugins/acme/demo/config/config.php, 创建一个名为 config/acme/todo/config.php 的文件。
├── config
| └── acme
| └── todo
| └── config.php ← 覆盖文件
在被覆盖的配置文件中你只能返回你想要覆盖的值。
return [
'maxItems' => 20
];如果您想在不同环境中使用单独的配置 (例如:开发,生产),考虑使用 env() 助手从环境变量中提取值。env() 函数接受环境变量名(第一个参数)和在变量不存在时的可选默认值(第二个参数)。
<?php
return [
'maxItems' => env('ACME_TODO_MAX_ITEMS', 25)
];这将更改 maxItems 值,当环境变量 ACME_TODO_MAX_ITEMS 设置为任何其他值时。例如,在应用程序的 .env 文件中。请参阅配置文章了解如何根据环境更改这些值。
ACME_TODO_MAX_ITEMS=10