本文实例讲述了thinkPHP5.0框架配置格式、加载解析与读取方法。分享给大家供大家参考,具体如下:
ThinkPHP支持多种格式的配置格式,但最终都是解析为PHP数组的方式。
PHP数组定义
返回PHP数组的方式是默认的配置定义格式,例如:
1
2
3
4
5
6
7
8
9
10
11
|
//项目配置文件
return [
// 默认模块名
'default_module' => 'index' ,
// 默认控制器名
'default_controller' => 'Index' ,
// 默认操作名
'default_action' => 'index' ,
//更多配置参数
//...
];
|
配置参数名不区分大小写(因为无论大小写定义都会转换成小写),新版的建议是使用小写定义配置参数的规范。
还可以在配置文件中可以使用二维数组来配置更多的信息,例如:
1
2
3
4
5
6
7
8
9
|
//项目配置文件
return [
'cache' => [
'type' => 'File' ,
'path' => CACHE_PATH,
'prefix' => '' ,
'expire' => 0,
],
];
|
其他配置格式支持
除了使用原生PHP数组之外,还可以使用json/xml/ini等其他格式支持(通过驱动的方式扩展)。
例如,我们可以使用下面的方式读取json配置文件:
1
|
Config::parse(APP_PATH. 'config/config.json' );
|
ini格式配置示例:
DEFAULT_MODULE=Index ;默认模块
URL_MODEL=2 ;URL模式
SESSION_AUTO_START=on ;是否开启session
xml格式配置示例:
1
2
3
4
5
|
< config >
< default_module >Index</ default_module >
< url_model >2</ url_model >
< session_auto_start >1</ session_auto_start >
</ config >
|
json格式配置示例:
1
2
3
4
5
|
{
"default_module" : "Index" ,
"url_model" :2,
"session_auto_start" :True
}
|
二级配置
配置参数支持二级,例如,下面是一个二级配置的设置和读取示例:
1
2
3
4
5
6
7
8
9
10
|
$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为例):
1
2
3
4
5
6
7
|
[user]
type =1
name=thinkphp
[db]
type =mysql
user=rot
password= ''
|
标准的xml格式文件定义:
1
2
3
4
5
6
7
8
9
10
11
|
< config >
< user >
< type >1</ type >
< name >thinkphp</ name >
</ user >
< db >
< type >mysql</ type >
< user >root</ user >
< password ></ password >
</ db >
</ config >
|
set方法也支持二级配置,例如:
1
2
3
4
|
Config::set([
'type' => 'file' ,
'prefix' => 'think'
], 'cache' );
|
读取配置参数
设置完配置参数后,就可以使用get方法读取配置了,例如:
1
|
echo Config::get( '配置参数1' );
|
系统为get方法定义了一个助手config,以上可以简化为:
1
|
echo config( '配置参数1' );
|
读取所有的配置参数:
1
2
|
dump(Config::get());
// 或者 dump(config());
|
或者你需要判断是否存在某个设置参数:
1
|
Config::has( '配置参数2' );
|
如果需要读取二级配置,可以使用:
1
|
echo Config::get( '配置参数.二级参数' );
|
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。