是否有办法在PHP 5.2中获得__callStatic或类似的功能?
我正在完成PHP框架,需要将此功能用于Database ORM类。因此,例如,您可以使用下面的代码从数据库表的第2列和第4列获取数据,即通过根据您的需要动态声明方法(如我猜的轨道)。
Class::find_by_col2_or_col4();
我已经在PHP 5.3中完成了这项工作并且它运行良好,但我正在尝试为那些使用PHP 5.2的人做同样的事情。
或者是否有其他方法可以使用PHP 5.2检索静态方法和参数的名称?
感谢。
答案 0 :(得分:0)
不是静态容量。从技术上讲,Rails,CakePHP等不会静态地调用这些类型的动态方法。不要进行哲学辩论,但如果要求向后兼容性,则可以改变范式并使用__call()
。在这种情况下,您可以使用ModelObject->find_by_col2_or_col4
之类的对象进行调用。当然,我明白这可能不是你想听到的。
这是PHP,可能有某种方式来破解它,但我不相信存在本机方法。