当前位置:首页 > PHP教程 > PHP常见问题

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

读取配置参数

设置完配置参数后,就可以使用get方法读取配置了,例如:

echo config::get('配置参数1');

系统为get方法定义了一个助手config,以上可以简化为:

echo config('配置参数1');

读取所有的配置参数:

dump(config::get()); // 或者 dump(config());

或者你需要判断是否存在某个设置参数:

config::has('配置参数2');

如果需要读取二级配置,可以使用:

echo config::get('配置参数.二级参数');

更多关于thinkphp相关内容感兴趣的读者可查看本站专题:《thinkphp入门教程》、《thinkphp模板操作技巧总结》、《thinkphp常用方法总结》、《codeigniter入门教程》、《ci(codeigniter)框架进阶教程》、《zend framework框架入门教程》、《smarty模板入门基础教程》及《php模板技术总结》。

希望本文所述对大家基于thinkphp框架的php程序设计有所帮助。



【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!