我正在尝试制作一个为 php 5.3 构建的脚本,可以在 php 5.2 服务器上运行。该脚本使用了大量后期静态绑定,例如:
return new static($options);
php 5.2 中与此等效的是什么?它会以某种方式成为新的自己吗?还是说无法达到同样的效果...
Thanks
EDIT:
这是一个相关问题新自我与新静态
只是想把我的头围绕在这个后期静态绑定的东西上......
我认为唯一的方法是传递构建单例的受保护静态方法和定义要使用的类的公共静态方法。
您可以使用以下命令“模拟”它获取类$this 上的函数
class ParentClass{
protected static function getInstance2($className){
//some stuffs here
return new $className();
}
public static function getInstance(){
return self::getInstance2(get_class(self));
}
}
class ChildClass extends ParentClass{
public static function getInstance(){
return self::getInstance2(get_class(self));
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)