配置文件支持分离(也称为扩展配置),只需要在公共配置文件配置extra_config_list
参数(V5.0.1版本已经废除该写法)。
例如,不使用独立配置文件的话,数据库配置信息应该是在config.php
中配置如下:
/* 数据库设置 */
'database' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => '',
// 数据库连接端口
'hostport' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 数据库调试模式
'debug' => false,
],
如果需要使用独立配置文件的话,则首先在config.php中添加配置:
'extra_config_list' => ['database'],
定义之后,数据库配置就可以独立使用database.php
文件,配置内容如下:
/* 数据库设置 */
return [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => '127.0.0.1',
// 数据库名
'database' => 'thinkphp',
// 数据库用户名
'username' => 'root',
// 数据库密码
'password' => '',
// 数据库连接端口
'hostport' => '',
// 数据库连接参数
'params' => [],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 数据库调试模式
'debug' => false,
],
如果配置了extra_config_list
参数,并同时在config.php
和database.php
文件中都配置的话,则database.php
文件的配置会覆盖config.php
中的设置。
独立配置文件的参数获取都是二维配置方式,例如,要获取database
独立配置文件的type
参数,应该是:
Config::get('database.type');
要获取完整的独立配置文件的参数,则使用:
Config::get('database');
系统默认设置了2个独立配置文件,包括
database
和validate
,分别用于设置数据库配置和验证规则定义。
版本要求
V5.0.1
5.0.1
以上版本支持自动读取扩展配置文件(extra_config_list
配置参数废弃),只需要将扩展配置文件放入application/extra
目录,即可自动读取。
自动读取的配置文件都是二级配置参数,一级配置名称就是扩展配置的文件名。
模块也可以支持自己的扩展配置文件,只需要放入 application/模块名/extra
下面就可以自动加载。
系统默认加载的独立配置文件不在此列,包括:
文件名 | 描述 |
---|---|
config | 应用或者模块配置文件 |
database | 数据库配置文件 |
tags | 行为定义文件 |
场景名 | 应用场景配置文件 |
如果你更改了
CONF_PATH
,那么扩展配置文件目录应该是CONF_PATH/extra
,模块配置目录则变成CONF_PATH/module/
,模块的扩展配置目录则变成CONF_PATH/module/extra
。