我在供应商文件夹中有一个包含数组的类
private $mids = [
'a' =>'b',
'c' => 'd'
];
private $config = [
'sid' => null,
'aid' => null,
];
和用于设置私有$ config的构造函数
function __construct($config){
foreach ($config as $key => $value) {
if (array_key_exists($key, $this->config)) {
$this->config[$key] = $value;
}
}
}
我想用新的键/值'x'=>'y'更新$ mid,所以我扩展了类并复制了父构造函数 子构造函数。
但是当我尝试调用在父级中定义的函数时,出现未定义$ this-> config($ key)的错误。 因此该函数使用的是父$ config属性而不是子元素。
我在做什么错了?
或者最好的方法是代替编辑供应商源代码
答案 0 :(得分:0)
如果要在子类中使用变量,请将其保护为私有变量,而不是私有变量。
protected $mids = [
'a' =>'b',
'c' => 'd'
];
protected $config = [
'sid' => null,
'aid' => null,
];