繁体   English   中英

PHP:__callStatic替代5.2.x

[英]PHP: __callStatic alternative for 5.2.x

所以我有托管拒绝更新到PHP 5.3(这很麻烦,但同时很好;我很灵活),但唯一让我感到惊讶的是没有__callStatic可用。

我加载了模块,我想要合并到一个单独的类(即有一个加载模块的类,然后通过调用主类'__callStatic方法访问这些模块的函数),但是当我从本地上传时测试服务器到我的服务器,显然__callStatic方法不起作用。

还有一种仍然是静态的替代方案吗? 我喜欢干净的代码查找双冒号(即registry::some_func() )而不是$registry->some_func()

另一个缺点是我现在被迫在函数中使用global关键字(根据我自己的喜好,它非常非常混乱)。

使用静态方法代替非静态方法,代码也非常快,反过来更干净。

另外:我考虑过像往常一样用5.2编写__callStatic方法,然后显式调用方法,例如registry::__callStatic("some_func"), array("val", "val2", "val3")和保持事情更简单,甚至在升级到5.3时更容易迁移。 对这种方法的想法?

谢谢!

如果想要这样做的唯一原因是双冒号的速度和主观吸引力,我会说增长以欣赏破折号和支架的道,采取暴跌并使用对象实例。 你所说的“干净的代码外观”就像是Hammer的裤子......很酷的一年,几年之后,当你年龄更大,更聪明时,就不那么酷了。 __callStatic() (IMVHO)充其量只是一种不必要的小便利,也是最糟糕的类别设计的解决方法。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM