在PHP中可能会出现以下内容吗?
$blah = 'foo1'; class foo2 extends $blah { //... } class foo1 { //... }
这给出了一个错误.
我想动态设置$ blah所以我可以扩展我想要的任何类.
编辑:想要这样做的原因是因为我想在相关类中使用另一个类的函数.最后它会是这样的:
Final extends foo1 extends foo2 extends foo3 extends foo4 extends parent { ... }
最后,我决定在类中实例化另一个类并使用它.不是最好的选择,因为它们都是你们两个相同的类,但是这些不会经常使用,因此它现在可以使用.
你假设这里php从上到下执行,但它不是那样的工作:
现在,虽然您可以有条件地创建类:
你不能在运行时从变量实例化一个:
Parse error: syntax error, unexpected T_VARIABLE, expecting T_STRING in /tmp/eg.php on line 7有一种方法可以用Eval来做,但你真的不想去那里:
barWIN!但是,这里有一个更重要的问题:
你为什么要在运行时扩展另一个类?
任何使用你的代码的人都会想要阻止你并鞭打你.
(或者,如果你正在鞭打,做那个评估技巧)
在一个理想的世界里,人们不会想要这样做.但这不是一个理想的世界.我查了一下,因为我坚持使用Joomla更改父类来定义版本1.5.x和更高版本之间的新"元素".我的子类不需要不同,我不想要不同的代码库,所以我希望能够根据Joomla的版本继承不同的类.这就是为什么.