首页 > 代码库 > thinkphp5.0配置加载

thinkphp5.0配置加载

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数组之外,还可以使用json/xml/ini等其他格式支持(通过驱动的方式扩展)。

例如,我们可以使用下面的方式读取json配置文件:

Config::parse(APP_PATH.‘config/config.json‘);

ini格式配置示例:

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格式配置示例:

{"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=1name=thinkphp [db]type=mysqluser=rotpassword=‘‘

标准的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‘);

thinkphp5.0配置加载