当前位置:  开发笔记 > 编程语言 > 正文

PHP中的变量类扩展 - 是否可能?

如何解决《PHP中的变量类扩展-是否可能?》经验,为你挑选了1个好方法。

在PHP中可能会出现以下内容吗?

$blah = 'foo1';

class foo2 extends $blah {
    //...
}

class foo1 {
    //...
}

这给出了一个错误.

我想动态设置$ blah所以我可以扩展我想要的任何类.

编辑:想要这样做的原因是因为我想在相关类中使用另一个类的函数.最后它会是这样的:

Final extends foo1 extends foo2 extends foo3 extends foo4 extends parent { ... }

最后,我决定在类中实例化另一个类并使用它.不是最好的选择,因为它们都是你们两个相同的类,但是这些不会经常使用,因此它现在可以使用.



1> Kent Fredric..:

你假设这里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的版本继承不同的类.这就是为什么.
推荐阅读
个性2402852463
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有