Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP5.2相当于后期静态绑定(新静态)?_Php_Late Static Binding - Fatal编程技术网

PHP5.2相当于后期静态绑定(新静态)?

PHP5.2相当于后期静态绑定(新静态)?,php,late-static-binding,Php,Late Static Binding,我正在尝试使为PHP5.3构建的脚本在PHP5.2服务器上工作。该脚本使用了大量后期静态绑定,如: return new static($options); 在PHP5.2中与此等效的是什么?不知怎的,它会是新的自我吗?还是不可能达到同样的效果 谢谢 编辑: 这是一个相关的问题 Juts试图把我的脑袋绕到这个最新的静态绑定东西上…我认为唯一的方法是通过一个受保护的静态方法来构建您的单例,以及一个定义要使用的类的公共静态方法。 您可以通过在$this上使用函数来“模拟”它 class Paren

我正在尝试使为PHP5.3构建的脚本在PHP5.2服务器上工作。该脚本使用了大量后期静态绑定,如:

return new static($options);
在PHP5.2中与此等效的是什么?不知怎的,它会是新的自我吗?还是不可能达到同样的效果

谢谢

编辑:

这是一个相关的问题


Juts试图把我的脑袋绕到这个最新的静态绑定东西上…

我认为唯一的方法是通过一个受保护的静态方法来构建您的单例,以及一个定义要使用的类的公共静态方法。 您可以通过在$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));
    }
}

恐怕没有等价物,晚静态绑定只是在PHP5.3中引入的。这看起来像singletonitis:XLike@Robin说,没有等价物。也许get_class()可以帮助您获得类似的结果?