在TP5中配置作用域时一直出现,批量配置的参数在作用域中无法显示的问题,但在系统作用域中可见。
<?php
namespace app\index\controller;
//引入Config类
use think\Config;
class Index
{
public function index()
{
//设置一组配置项
$config = [
'user_name' => 'vivian',
'user_age' => 22,
];
//设置user_type参数,并纳入user作用域
Config::set('user_type',1,'user');
//批量设置,纳入user作用域
Config::set($config,'','user');
//设置二级配置项
Config::set('config',$config,'user');
//输出user作用域中的配置项
dump(Config::get('','user'));
}
}
输出:
array(4) {
["user_type"] => int(1)
["user_name"] => string(6) "vivian"
["user_age"] => int(22)
["config"] => array(2) {
["user_name"] => string(6) "vivian"
["user_age"] => int(22)
}
}
需要注意的是在设置配置参数时要为配置参数指定好参数名、值、以及作用域名称(特别是批量设置):
单个参数设置:Config::set('user_type',1,'user');
批量设置:Config::set($config,'','user');//注意第二个参数的存在
若第二参数不存在的话就相当于:Config::set($config,'user','_sys_');//即将该数组设置为一个名为user的系统二级配置项
二级配置项设置:Config::set('config',$config,'user');