PHP 5.2 Эквивалент позднего статического связывания (новый статический)?

Я пытаюсь сделать скрипт, который построен для PHP 5.3 работает на сервере PHP 5.2. Скрипт использует много поздних статических привязок, таких как:

return new static($options);

Что эквивалентно этому в php 5.2? будет ли это как-то новым собой? Или нельзя добиться того же эффекта...

Спасибо

РЕДАКТИРОВАТЬ:

Вот связанный вопрос Новый я против новой статики

Просто пытаюсь обернуть мою голову этим поздним статическим переплетом...

1 ответ

Я думаю, что единственный способ - пройти через защищенный статический метод, который создает ваш синглтон, и публичный статический метод, который определяет используемый класс. Вы можете "эмулировать" его, используя функцию get_class над $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));
    }
}
Другие вопросы по тегам