12、TP5加载任意位置多类型的配置文件
2018-05-21 本文已影响12人
IUVO
本章节讲解了如何加载其他位置的配置文件,因为配置文件不一定非要在应用目录下,也不一定非要在
config目录下,也不一定非要是config.php文件,也可以是任意的文件名。
其他位置的配置文件
首先,创建文件:/config/newconf/conf.php,随便写些内容:
<?php
return [
'welcome' => '欢迎光临',
];
?>
如何加载呢?
在application底下的默认控制器里的/application/index/controller/Index.php文件中,加载其他地方的配置文件,需要用到Config类的load方法,因为Config类在框架目录下面,需要用命名空间来访问它:
class Index
{
public function index()
{
\think\Config::load(APP_PATH.'../config/newconf/conf.php');
dump(\think\Config::get());
}
}
保存,刷新一下,就可以看到,对应配置项welcome已经加载出来了。
下面我们再创建一个非PHP文件:/config/newconf/conf.ini,随便写点配置:
target_site = 百度
target_domain = www.baidu.com
下一步,就是在/application/index/controller/Index.php文件中,修改支持ini格式的配置文件:
class Index
{
public function index()
{
// \think\Config::load(APP_PATH.'../config/newconf/conf.php');
\think\Config::parse(APP_PATH.'../config/newconf/conf.ini','ini');
dump(\think\Config::get());
}
}
保存,刷新一下,就可以看到,对应配置项target_site,target_domain已经加载出来了。
加载任意位置、非PHP格式的配置文件,不仅提高了灵活性,还为其他应用提供了一个配置接口。