扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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助手方法获取的一些自带的配置数据,每种类型的配置数据,在一个数组中。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流