У меня есть иерархия классов в PHP 5.2.9
.Унаследованные свойства массива PHP
Базовый класс имеет защищенное свойство, которое является ассоциативным массивом.
Детские классы могут добавлять некоторые элементы в массив.
Детские классы объявляются в отдельных файлах (плагинах), которые будут созданы и добавлены несколькими разработчиками.
Каков наилучший способ добавить элементы к свойству в дочерних классах, чтобы объявление нового ребенка было максимально простым?
<?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
?>
В идеале я хотел бы сделать это для разработчиков, как просто, как объявить переменный или частную собственность, не имея необходимость CopyPaste коды.
Это именно то, о чем я впервые подумал, но есть ли более простой способ? – Quassnoi
Вы можете попытаться автоматизировать этот процесс с помощью get_class() и добавить свойства в конструктор класса A. Но я полагаю, что это намного сложнее (для вас как минимум). – Veger
Как это сделать с помощью 'get_class()'? – Quassnoi