ThinkPHP支持多種格式的配置格式,但最終都是解析爲PHP數組的方式。php
返回PHP數組的方式是默認的配置定義格式,例如:css
//項目配置文件 return [ // 默認模塊名 'default_module' => 'index', // 默認控制器名 'default_controller' => 'Index', // 默認操做名 'default_action' => 'index', //更多配置參數 //... ];
配置參數名不區分大小寫(由於不管大小寫定義都會轉換成小寫),新版的建議是使用小寫定義配置參數的規範。mysql
還能夠在配置文件中能夠使用二維數組來配置更多的信息,例如:web
//項目配置文件 return [ 'cache' => [ 'type' => 'File', 'path' => CACHE_PATH, 'prefix' => '', 'expire' => 0, ], ];
除了使用原生PHP數組以外,還能夠使用json/xml/ini
等其餘格式支持(經過驅動的方式擴展)。sql
例如,咱們能夠使用下面的方式讀取json配置文件:thinkphp
Config::parse(APP_PATH.'config/config.json');
ini格式配置示例:json
DEFAULT_MODULE=Index ;默認模塊 URL_MODEL=2 ;URL模式 SESSION_AUTO_START=on ;是否開啓session
xml格式配置示例:數組
<config> <default_module>Index</default_module> <url_model>2</url_model> <session_auto_start>1</session_auto_start> </config>
json格式配置示例:session
{
"default_module":"Index", "url_model":2, "session_auto_start":True }
配置參數支持二級,例如,下面是一個二級配置的設置和讀取示例:函數
$config = [ 'user' => ['type'=>1,'name'=>'thinkphp'], 'db' => ['type'=>'mysql','user'=>'root','password'=>''], ]; // 設置配置參數 Config::set($config); // 讀取二級配置參數 echo Config::get('user.type'); // 或者使用助手函數 echo config('user.type');
系統不支持二級以上的配置參數讀取,須要手動分步驟讀取。
有做用域的狀況下,仍然支持二級配置的操做。
若是採用其餘格式的配置文件的話,二級配置定義方式以下(以ini和xml爲例):
[user] type=1 name=thinkphp [db] type=mysql user=rot password=''
標準的xml格式文件定義:
<config> <user> <type>1</type> <name>thinkphp</name> </user> <db> <type>mysql</type> <user>root</user> <password></password> </db> </config>
set方法也支持二級配置,例如:
Config::set([ 'type' => 'file', 'prefix' => 'think' ],'cache');