高段位php问题,高手接招:如何调用未知名称的类

2011-01-05 16:52:38 +08:00
 iloveyou
这种新建类的实例可以这样:
$className = '未知类名称';
$newClass = new $className;

但是如果是直接操作类本身呢?
$className = '未知类名称';
$className :: method(); //这行报错。

请问第二种怎么处理,除了用eval方法。
我现在在开发一个php mvc框架的ar部分需要用的这些。
5406 次点击
所在节点    问与答
35 条回复
TheOnly92
2011-01-06 12:24:02 +08:00
PHP 5.2 才刚刚普遍起来而已,况且我个人的代码有许多功能被 5.3 砍掉了呢,要阅读,修改,重写需要一定时间,所以暂时放着。而且 5.3 才刚出,难保没有什么问题,所以还是静观其变吧。
CupTools
2011-01-06 12:29:02 +08:00
@TheOnly92 砍掉的,必然有他的道理
Platinum
2011-01-06 12:33:49 +08:00
@TheOnly92 5.3.0 出来到现在已经一年半了
TheOnly92
2011-01-06 12:43:44 +08:00
@CupTools 我没说砍得不行,只是砍掉了代码就出问题了。

@Platinum 还是有不少问题吧
CupTools
2011-01-06 14:26:02 +08:00
@TheOnly92 -.= 那就说明你所使用的函数PHP官方看着不爽
ayanamist
2011-01-06 21:02:11 +08:00
CupTools
2011-01-07 13:39:41 +08:00
@ayanamist 看unset这个function没有,你要用xdebug自己看。
ayanamist
2011-01-07 14:41:27 +08:00
@CupTools 看来你没看到我发的链接的点子上。那个评论说了,确实有的时候unset是没有用的,要自己设NULL改写内存。不过PHP的内存控制一直很不好。我现在已经转向Python开发了
CupTools
2011-01-08 09:47:49 +08:00
@ayanamist 5.3表示没有鸭梨了
ayanamist
2011-01-08 09:59:42 +08:00
@CupTools 表示Zend Optimizer这个东西只能跑在5.2下面……
CupTools
2011-01-08 10:41:33 +08:00
@ayanamist 表示连EA, xCache,ZO都不跑的飘过。。纯裸跑
TheOnly92
2011-01-08 11:19:21 +08:00
5.3 集合了 APC 吧。
ayanamist
2011-01-08 12:11:02 +08:00
@CupTools Zend Encoder对商业公司很重要。OP cache性能提升很明显,当然你要会利用特性。裸跑很牛逼,你果然不愧我之前对你的称谓
ayanamist
2011-01-08 12:11:26 +08:00
@TheOnly92 没有吧……EAC,APC, XC之类的东西还是要自己装
CupTools
2011-01-08 16:16:07 +08:00
@ayanamist 你给我什么称谓了.... Encoder?现在有ionCube。OP这些太垃圾

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/6766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX