文件设置将设置值存储在文件中,并且可以被环境变量或应用程序文件覆盖。
插件可以使用插件目录的 config 子目录中的基于文件的配置文件。下面是插件的 config 目录的示例。
├── plugins
| └── 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