獨立配置
獨立配置文件
配置文件支持分離(也稱為擴展配置),只需要在公共配置文件配置
extra_config_list
參數(shù)(V5.0版本已經(jīng)廢除該寫法)。
例如,不使用獨立配置文件的話,數(shù)據(jù)庫配置信息應(yīng)該是在config.php
中配置如下:
/* 數(shù)據(jù)庫設(shè)置 */
'database' => [
// 數(shù)據(jù)庫類型
'type' => 'mysql',
// 服務(wù)器地址
'hostname' => '127.0.0.1',
// 數(shù)據(jù)庫名
'database' => 'ThinkPHP',
// 數(shù)據(jù)庫用戶名
'username' => 'root',
// 數(shù)據(jù)庫密碼
'password' => '',
// 數(shù)據(jù)庫連接端口
'hostport' => '',
// 數(shù)據(jù)庫連接參數(shù)
'params' => [],
// 數(shù)據(jù)庫編碼默認采用utf8
'charset' => 'utf8',
// 數(shù)據(jù)庫表前綴
'prefix' => '',
// 數(shù)據(jù)庫調(diào)試模式
'debug' => false,
],
如果需要使用獨立配置文件的話,則首先在config.php中添加配置:
'extra_config_list' => ['database'],
定義之后,數(shù)據(jù)庫配置就可以獨立使用database.php
文件,配置內(nèi)容如下:
/* 數(shù)據(jù)庫設(shè)置 */
return [
// 數(shù)據(jù)庫類型
'type' => 'mysql',
// 服務(wù)器地址
'hostname' => '127.0.0.1',
// 數(shù)據(jù)庫名
'database' => 'ThinkPHP',
// 數(shù)據(jù)庫用戶名
'username' => 'root',
// 數(shù)據(jù)庫密碼
'password' => '',
// 數(shù)據(jù)庫連接端口
'hostport' => '',
// 數(shù)據(jù)庫連接參數(shù)
'params' => [],
// 數(shù)據(jù)庫編碼默認采用utf8
'charset' => 'utf8',
// 數(shù)據(jù)庫表前綴
'prefix' => '',
// 數(shù)據(jù)庫調(diào)試模式
'debug' => false,
],
如果配置了extra_config_list
參數(shù),并同時在config.php
和database.php
文件中都配置的話,則database.php
文件的配置會覆蓋config.php
中的設(shè)置。
獨立配置文件的參數(shù)獲取都是二維配置方式,例如,要獲取database
獨立配置文件的type
參數(shù),應(yīng)該是:
Config::get('database.type');
要獲取完整的獨立配置文件的參數(shù),則使用:
Config::get('database');
自動讀取擴展配置
版本要求
V5.0
5.0
以上版本支持自動讀取擴展配置文件(extra_config_list
配置參數(shù)廢棄),只需要將擴展配置文件放入application/extra
目錄,即可自動讀取。
自動讀取的配置文件都是二級配置參數(shù),一級配置名稱就是擴展配置的文件名。
模塊也可以支持自己的擴展配置文件,只需要放入 application/模塊名/extra
下面就可以自動加載。
系統(tǒng)默認加載的獨立配置文件不在此列,包括:
文件名 | 描述 |
---|---|
config | 應(yīng)用或者模塊配置文件 |
database | 數(shù)據(jù)庫配置文件 |
tags | 行為定義文件 |
場景名 | 應(yīng)用場景配置文件 |
如果你更改了
CONF_PATH
,那么擴展配置文件目錄應(yīng)該是CONF_PATH/extra
,模塊配置目錄則變成CONF_PATH/module/
,模塊的擴展配置目錄則變成CONF_PATH/module/extra
。