У меня есть иерархия классов в PHP 5.2.9
.
Базовый класс имеет защищенное свойство, которое является ассоциативным массивом.
Дочерние классы могут добавлять некоторые элементы в массив.
Дочерние классы объявлены в отдельных файлах (плагинах), которые будут созданы и добавлены несколькими разработчиками.
Каков наилучший способ добавить элементы к свойству в дочерних классах, чтобы объявление нового потомка было как можно более простым?
<?php
class A {
protected $myproperty = array (
'A1' => 1,
'A2' => 2
);
function myprint()
{
print_r($this->myproperty);
}
};
class B extends A {
// add 'B1', 'B2' to myproperty
};
class C extends B {
// add 'C1', 'C2' to myproperty
};
$c = new C();
$c->myprint();
// The line above should print A1, A2, B1, B2, C1, C2
?>
В идеале я хотел бы сделать это для разработчиков таким же простым, как объявление переменной или частного свойства, без необходимости копировать любой код.