4
我在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 2010-01-21 11:02:52
你可以嘗試通過使用get_class()來自動完成這個過程,並在類A的構造函數中添加屬性。但是我想這是非常複雜的(至少對你而言)。 – Veger 2010-01-21 11:05:05
如何使用'get_class()'做到這一點? – Quassnoi 2010-01-21 11:09:36