独立配置

独立配置文件

配置文件支持分离(也称为扩展配置),只需要在公共配置文件配置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.phpdatabase.php文件中都配置的话,则database.php文件的配置会覆盖config.php中的设置。

独立配置文件的参数获取都是二维配置方式,例如,要获取database独立配置文件的type参数,应该是:

Config::get("database.type");

要获取完整的独立配置文件的参数,则使用:

Config::get("database");

自动读取扩展配置

版本要求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

文章导航