如何设置父类依赖于某些语句?
例
$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
谢谢
在编译时解析类,而不是运行时,所以实际上你不能.考虑改为创建具有不同父项的2个类,并根据您的动态实例化它们$switcher.尝试在运行时更改继承层次结构没有多大意义.
你想要的方法似乎迫切需要重新思考架构.如果class1和class2是不同类的,那么他们的定义不应该有很多共同点是可以互换的下游子类,如果他们这样做有很多共通之处,它可以在继承层次结构,指向一个问题更高,其中一个可能也许需要继承其他人.