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');