我经常在我的类中使用存储一系列选项的属性。我希望能够以某种方式将这些选项与父类中声明的默认值合并。
我用一些代码进行了演示。
class A
{
public $options = array('display'=>false,'name'=>'John');
}
class B extends A
{
public $options = array('name'=>'Mathew');
}
现在,当我创建时B
,我想$options
包含一个来自的合并数组A::options
现在发生的事情是这样的。
$b = new B();
print_r($b);
array('name'=>'Mathew');
我想要这样的东西使用array_merge_recursive()
。
array('display'=>false,'name'=>'Mathew');
- 也许这是我可以在构造函数中做的事情?
- 是否有可能使它成为一种行为
class A
?这样我就不必总是在所有子类中实现相同的代码。 - 我可以使用反射在两个类中自动查找数组属性并将它们合并吗?