美文网首页ThinkPHP5
13、TP5框架中配置项的正确读取

13、TP5框架中配置项的正确读取

作者: IUVO | 来源:发表于2018-05-29 12:34 被阅读1022次

读取配置项

  • 类方法

使用类方法读取配置项:
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);

使用类方法和助手函数都可以读取配置,但是这里主要还是推荐使用类方法,因为使用助手函数隐藏了太多的细节。

相关文章

网友评论

    本文标题:13、TP5框架中配置项的正确读取

    本文链接:https://www.haomeiwen.com/subject/foafjftx.html