config类和config助手函数

config助手函数config类封装,是对config类的简化
比如使用助手函数不需要引入Config类的命名空间,直接用就行

使用Config类方式
1.直接指定目录

$res = \think\Config::get();

2.直接引入即可

use think\Config;

就可以不用写路径了

$res = config();

等于助手函数效果是一样的。

源码分析:

所有的助手函数位于thinkphp下的helper.php文件
打开后可以看到这个
在这里插入图片描述
使用查找config
在这里插入图片描述
源码分析:

if (!function_exists('config')) {
    /**
     * 获取和设置配置参数
     * @param string|array  $name 参数名
     * @param mixed         $value 参数值
     * @param string        $range 作用域
     * @return mixed
     */
    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);
        }
    }
}

首先调用了function_exists进行判断,没有就创建一个
创建的config函数接受三个参数,原注释以说明
值为空,并且是字符串,将优先判断字符串中有么有问好,如果有,并且是第一位,将调用config下has方法,没有则调用get
上述不符合就调用设置方法,set

获取指定配置值

使用类方法获取
$res = Config::get('diy.this_name');
使用助手函数获取
$res = config('diy.this_name');

设置值

Config::set('this_is','哈哈');
dump(Config::get('this_is'));

相反get指定呢称没有就是null
使用助手函数设置值:

 config('kkk','卡卡卡');

作用域

参数: key,val,作用域
通过之前的学习我们知道在设置值时可以指定作用域

config('kkk','卡卡卡','index');

这里指定了index方法才可访问
在这里插入图片描述
浏览器打印出null因为我们没有指定作用域

dump(Config::get('kkk','index'));

再次刷新即可看到效果

判断是否有配置

使用Config下has方法即可

$res = Config::has('kkk');
dump($res);

可以看到返回false,因为我在代码没有配置这一项
在这里插入图片描述

Config('kkk','12345');
$res = Config::has('kkk');
dump($res);

此时返回的就是true
我们在此之前定义好返回的也是true,
如果定义的值为null是false

使用助手函数has判断

config('?kkk');

必须第一位是?问号才能进行判断

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值