因此,我托管拒绝更新到PHP 5.3(这是恼人的,但在同一时间罚款;我很灵活),但唯一真正让我关闭的是没有__callStatic可用。PHP:__callStatic替代5.2.x
我有模块加载,我想巩固到一个类(即有一个类加载模块,然后通过调用主类__callStatic方法访问这些模块的功能),但当我从本地测试服务器上传到我的服务器,显然__callStatic方法不起作用。
是否有替代方案是还是静态?我喜欢干净的代码寻找双冒号(即registry::some_func()
)而不是$registry->some_func()
。
另一个不利的方面来这是我现在被迫使用职权范围内global
关键字(其中由我自己的偏好是非常,非常凌乱)。
代码使用静态方法代替非静态方法的速度也非常快,并且反过来更加干净。
另外:我想过写__callStatic方法像往常一样与5.2,然后调用方法明确,例如registry::__callStatic("some_func"), array("val", "val2", "val3")
,并保持事情变得更简单这样一来,即使是比较容易迁移,当他们升级到5.3 。关于这种方法的想法?
谢谢!
非常明智地说:]我同意这一点,这几乎是我自己的规格。如果需要的话,我总是可以使用一些小小的magic linux命令来替换整个代码(只需要移除`$`并用`::`替换` - >`。谢谢! – Qix 2011-01-06 22:48:02