【发布时间】:2013-01-03 06:05:02
【问题描述】:
我经常在我的类中使用存储一系列选项的属性。我希望能够以某种方式将这些选项与父类中声明的默认值合并。
我用一些代码演示了。
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成为一种行为?这样我就不必总是在所有子类中实现相同的代码。 - 我可以使用反射在两个类中自动查找数组属性并将它们合并吗?
【问题讨论】:
标签: php cakephp cakephp-2.2