php类扩展动态

时间:2016-11-12 06:27:20

标签: php inheritance

以下示例我想用以前包含的类扩展每个类,我知道:

Base.php

class Base {

 protected function foo()
 {
     echo 'I am baseclass'; 
 }

}

Child1.php

class Child1 {

 protected function foo()
 {
     echo 'I am child1'; 
 }

}

Child2.php

class Child2 {

 protected function foo()
 {
     echo 'I am child2'; 
 }

}

我的最后一堂课将是 Mymodule

Mymodule.php

如果不手动扩展,下面应该做什么:

Child1 extends Base,
Child2 extends Child1
Child2 extends Mymodule

这样可能动态吗?因为我有11个这样的课,我终于需要Mymodule请指导我。

1 个答案:

答案 0 :(得分:1)

您的代码显示Child2类扩展了Child1和mymodule类。 Php不允许多重继承,因此一个类只能扩展一个类。

Php 5.4引入了一项名为Traits的功能。它允许类继承多个定义为特征的类:http://php.net/manual/en/language.oop5.traits.php。如果您将Child1和mymodule类定义为traits,那么您可以从Child1和mymodule扩展Child2类