更改父类取决于变量

Sim*_*mon 2 php oop

如何设置父类依赖于某些语句?

$switcher = true;

if($switcher) {
 class a extends class1{
 ...
}
else {
 class a extends class2 {
 ...
}
Run Code Online (Sandbox Code Playgroud)

我需要这样的东西

$myclass = $switcher ? 'class1' : 'class2';

class a extends $myclass { //sure this will not work
Run Code Online (Sandbox Code Playgroud)

但如何使用$myclass没有eval

谢谢

Mic*_*ski 5

在编译时解析类,而不是运行时,所以实际上你不能.考虑改为创建具有不同父项的2个类,并根据您的动态实例化它们$switcher.尝试在运行时更改继承层次结构没有多大意义.

你想要的方法似乎迫切需要重新思考架构.如果class1class2是不同类的,那么他们的定义不应该有很多共同点是可以互换的下游子类,如果他们这样做有很多共通之处,它可以在继承层次结构,指向一个问题更高,其中一个可能也许需要继承其他人.