PHP 5.2相当于后期静态绑定(新的静态)?

我试图制作一个脚本,它是为php 5.3在php 5.2服务器上工作而构建的。 该脚本使用了很多迟到的静态绑定,如:

return new static($options);

什么是在PHP 5.2中相当于这个? 它会以某种方式成为新的自我? 或者是不可能达到同样的效果......

谢谢

编辑:

这是一个相关的问题新的自我与新的静态

Juts试图把我的头包裹在这个晚期的静态绑定内容中......


我认为唯一的方法是传递一个构建你的单例的受保护静态方法和一个定义要使用的类的公共静态方法。 您可以通过使用$ this上的get_class函数来“模拟”它

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));
    }
}
链接地址: http://www.djcxy.com/p/58053.html

上一篇: PHP 5.2 Equivalent to Late Static Binding (new static)?

下一篇: Php Inheritance, dynamic properties and new static() constructor