如何设置父类取决于某些声明?
例
$switcher = true;
if($switcher) {
class a extends class1{
...
}
else {
class a extends class2 {
...
}
我需要这样的东西
$myclass = $switcher ? 'class1' : 'class2';
class a extends $myclass { //sure this will not work
但是如何在没有
$myclass
的情况下使用eval
谢谢
最佳答案
类是在编译时而不是运行时进行解析的,因此实际上是不能的。考虑改为创建具有不同父级的2个类,并根据您的$switcher
动态实例化它们。尝试在运行时更改继承层次结构没有多大意义。
您打算使用的方法似乎正在重新考虑体系结构。如果class1
和class2
是不同的类,那么根据定义,它们应该没有太多的共同点可与下游子类互换,并且如果它们确实有很多共同点,则可能指出继承性更高的问题。等级制,一个人可能需要从另一个继承。
关于php - 更改父类取决于变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14367967/