这篇文章给大家分享的是有关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('配置参数.二级参数');
感谢各位的阅读!关于“thinkPHP5.0框架配置格式、加载解析与读取的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。