2016-11-12 79 views
-2

下面的例子,我想每个类与以前包括类扩展,我知道这一点:PHP类扩展动态

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请指导我。

+0

您是否想要在不写入的情况下扩展'Base'“extends Base'”?我想知道为什么。 –

+0

是的,你是对的我有很多文件我想扩展每个以前加载的文件 – user3637224

+0

@RuslanOsmanov:我希望你明白我的意思,我不想每次写“扩展”,但最后模块类应该按名称加载每个类(我将给出数组中的文件列表),并且应该用前一个扩展每个类。 – user3637224

回答

1

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

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