配置格式-j9九游

thinkphp支持多种格式的配置格式,但最终都是解析为php数组的方式。

php数组定义

返回php数组的方式是默认的配置定义格式,例如:

//项目配置文件
return [
    // 默认模块名
    'default_module'        => 'index',
    // 默认控制器名
    'default_controller'    => 'index',
    // 默认操作名
    'default_action'        => 'index',
    //更多配置参数
    //...
];

配置参数名不区分大小写(因为无论大小写定义都会转换成小写),新版的建议是使用小写定义配置参数的规范。

还可以在配置文件中可以使用二维数组来配置更多的信息,例如:

//项目配置文件
return [
    'cache'                 => [
        'type'   => 'file',
        'path'   => cache_path,
        'prefix' => '',
        'expire' => 0,
    ],
];

其他配置格式支持

默认方式为php数组方式定义配置文件,你可以在入口文件定义conf_ext常量来更改为其它的配置类型:

// 更改配置格式为ini格式
define('conf_ext', '.ini');

配置后,会自动解析支持的配置类型,包括.ini.xml.json 和 .php 在内的格式支持。

5.0版本开始支持yaml配置格式支持

ini格式配置示例:

default_module=index ;默认模块
default_controller=index ;默认控制器
default_action=index ;默认操作

xml格式配置示例:

<config>
<default_module>indexdefault_module>
<default_controller>indexdefault_controller>
<default_action>indexdefault_action>
config>

json格式配置示例:

{
"default_module":"index",
"default_controller":"index",
"default_action":"index"
}

二级配置

配置参数支持二级,例如,下面是一个二级配置的设置和读取示例:

$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>1type>
<name>thinkphpname>
user>
<db>
<type>mysqltype>
<user>rootuser>
<password>password>
db>
config>

set方法也支持二级配置,例如:

config::set([
    'type'      =>  'file',
    'prefix'    =>  'think'
],'cache');
文档最后更新时间:2018-04-25 18:00:23
网站地图