读取配置项
-
类方法
使用类方法读取配置项:
Config::get('配置参数')
,参数为空则是获取全部配置。
我们使用默认控制器/application/index/controller/Index.php
进行演示,使用Config
类,需要用用命名空间访问\think\Config
,使用get()
函数,因为get()
函数返回的是一个数组,所以需要用dump()
系统函数来访问一下。
class Index
{
public function index()
{
dump(\think\Config::get());
}
}
访问一下页面,就可以看到打印出来的所有配置项,如果带上参数,就可以打印对应配置的值:dump(\think\Config::get('app_debug'));
-
助手函数
使用助手函数:config('配置参数')
,参数说明与Config::get()
完全一样;
class Index
{
public function index()
{
dump(config('app_debug'));
}
}
输出结果一样。
无论是类方法还是助手函数,都可以查询全部的配置项,也可以查询指定的配置项,但是有些配置项还有二级配置项,如何访问二级配置项呢?
-
读取二级配置项
读取二级配置项,参数与值之间用.
符号进行连接。
在自定义配置目录下的/config/index/config.php
里,写上:
<?php
return [
'trace' => ['type' => 'Console',],
];
?>
分别用类方法和助手函数来访问看看:
dump(\think\Config::get('trace.type')); //类方法
dump(config('trace.type')); //助手函数
可以看到,输出的结果都一样。
判断某个配置项是否存在
-
类方法
使用类方法:Config::has('配置参数')
,返回布尔值。
dump(\think\Config::has('trace.type')); //类方法
\\返回值为:bool(true)
-
助手函数
使用助手函数:config('?配置参数')
,返回布尔值。
dump(config('?trace.type')); //助手函数
\\返回值为:bool(true)
-
操作一遍
现在我们在/application/index/controller/Index.php
文件中的index()
内实现:
public function index()
{
$conf = 'app_debug';
$isExist = \think\Config::has($conf);
if ($isExist) {
dump(\think\Config::get($conf));
}
else {
return $conf.'配置不存在';
}
}
逻辑简单易懂,修改变量$conf
的值,即可输出对应的内容。
这里其实可以简化下代码,我们可以看到在调用Config
类之前呢,都要加上命名空间\think\
,挺麻烦的,所以可以这样简化:
use think\Config;
class Index
{
...
}
然后就可以愉快的删除原来所有带命名空间的\think\
了,直接使用Config
类即可:$isExist = Config::has($conf);
。
使用类方法和助手函数都可以读取配置,但是这里主要还是推荐使用类方法,因为使用助手函数隐藏了太多的细节。