thinkphp6中使用助手函数config相比tp5的调整

2022-06-09 10:00 栏目:技术开发 查看(7788)

config方法用于设置项目的全局配置项(比如网站的名称等一些基本设置可以用这个方法设置),在tp5中,可以直接设置一个数组到config中,然后依次调用即可。但在tp6中,在使用config取配置数据的时候,必须使用二级键值的方式,也就是写入数据的时候必须是写入多级数组。假设原来网站通用配置项为如下信息:

$conifg=['title'=>'网站标题:微构网络官网','url'=>'https://www.csweigou.com/',....];

在tp5中,我们可以直接使用config助手函数写入配置数据:

config($config);

然后取网站标题,可以直接这样写:

config('title');

但在tp6中是不能够这样写,在写入配置数据的时候也可以跟tp6一样,但取数据这样取是不能取到预期数据的。而应该这样写入(规范来讲,tp5也应该这样):

config('config',$config);

取数据这样写:

config('config.title');

我们可以对比一下tp5和tp6自带的config助手函数的源码就能看出来为什么要这样,首先是tp5的:

function config($name = '', $value = null, $range = ''){
    if (is_null($value) && is_string($name)) {
        return 0 === strpos($name, '?') ? Config::has(substr($name, 1), $range) : Config::get($name, $range);
    } else {
        return Config::set($name, $value, $range);
    }
 }

tp6是这样的:

function config($name = '', $value = null){
   if (is_array($name)) {
      return Config::set($name, $value);
   }
   return 0 === strpos($name, '?') ? Config::has(substr($name, 1)) : Config::get($name, $value);
}

其实很类似,只是把判断顺序调换了,但这样就能够严格限制开发者使用config写入配置信息的时候必须写入多级数组,这样跟tp框架自带的一些配置项相对应,tp6本身比tp5在开发规范上也更加严谨。如下就是config助手方法获取的一些自带的配置数据,每种类型的配置数据,在一个数组中。

QQ截图20220609100014

与我们的项目经理联系
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流

转载请注明出处:thinkphp6中使用助手函数config相比tp5的调整 - 微构网络
分享: