配置格式
ThinkPHP支持多種格式的配(pei)置格式,但(dan)最終都是解析為PHP數(shu)組的方式。
PHP數組定義
返回PHP數(shu)組的方式是(shi)默(mo)認(ren)的配置定(ding)義格式,例如:
//項目配置文件
return [
// 默認模塊名
'default_module' => 'index',
// 默認(ren)控制(zhi)器名
'default_controller' => 'Index',
// 默認操作名
'default_action' => 'index',
//更多配置參數
//...
];
配置參數(shu)名(ming)不區(qu)分大(da)(da)小(xiao)寫(xie)(因為無論大(da)(da)小(xiao)寫(xie)定(ding)義都會轉換成(cheng)小(xiao)寫(xie)),新版的(de)建議是使用小(xiao)寫(xie)定(ding)義配置參數(shu)的(de)規范(fan)。
還可(ke)以在配置(zhi)文件中可(ke)以使用二(er)維數組來配置(zhi)更多的(de)信息,例如:
//項(xiang)目配置文件(jian)
return [
'cache' => [
'type' => 'File',
'path' => CACHE_PATH,
'prefix' => '',
'expire' => 0,
],
];
其他配置格式支持
默認方式為PHP數組方式定義配置文件,你可以在入口文件定義CONF_EXT常量來更改為其它的(de)配置(zhi)類(lei)型:
// 更改配置格式為ini格式
define('CONF_EXT', '.ini');
配置后,會自動解析支持的配置類型,包括.ini、.xml、.json 和 .php 在內的格式(shi)支持。
5.0版本開始(shi)支持yaml配置格(ge)式(shi)支持
ini格式配置示例:
default_module=Index ;默認模塊
default_controller=index ;默認控制器
default_action=index ;默認操作
xml格(ge)式配置示例:
<config>
<default_module>Index</default_module>
<default_controller>index</default_controller>
<default_action>index</default_action>
</config>
json格式(shi)配置示例:
{
"default_module":"Index",
"default_controller":"index",
"default_action":"index"
}
二級配置
配(pei)置參數支持二級,例(li)如(ru),下(xia)面是一個二級配(pei)置的設置和(he)讀取示(shi)例(li):
$config = [
'user' => [
'type' => 1,
'name' => 'ThinkPHP',
],
'db' => [
'type' => 'mysql',
'user' => 'root',
'password' => '',
],
];
// 設置配置參(can)數(shu)
Config::set($config);
// 讀(du)取二級配置參數
echo Config::get('user.type');
// 或者使用助手(shou)函(han)數
echo config('user.type');
系統不支持二級以上的配置參數讀取,需要手動分步驟讀取。
有作用域(yu)的(de)情況下,仍然支(zhi)持二(er)級配(pei)置的(de)操作。
如果采用(yong)其(qi)他格式的配置文件的話,二級配置定(ding)義方式如下(以ini和xml為例):
[user]
type=1
name=ThinkPHP
[db]
type=mysql
user=rot
password=''
標(biao)準的xml格式文件定義:
<config>
<user>
<type>1</type>
<name>ThinkPHP</name>
</user>
<db>
<type>mysql</type>
<user>root</user>
<password></password>
</db>
</config>
set方(fang)法也支持(chi)二級配置,例如:
Config::set([
'type' => 'file',
'prefix' => 'think'
],'cache');
