cDLEON
Онанист РНРСlub
Когда уже наконец выйдет PHP5.3 ?
Ну вот что за хрень:
Имеется класс:
В итоге - ругается примерно так:
Fatal error: Cannot call abstract method singleton::get_instance() in blabla.php on line 22
В итоге - ни чего умного на ум не пришло, кроме как метод init() сделать не статичным.
Но тогда не понятно каким мокаром теперь инитить объект в разные положения, не написав дополнительных строчек в коде, не связанном с библиотекой? Метод которого наследуется...
Уже блин, вроде, смирился с тем, что для синглтона приходится в каждом отдельном классе писать по функции...
Но это вообще через чур....
На последок- вопрос - как бы вы поступили в вышеизложенной мною ситуации...
ЗЫ. Чорд, хотел в оффтоп запостить 8)
ЗЫ.ЗЫ Менять архитектуру - это понятно, но как её лучше изменить ? Ваши мнения...
Ну вот что за хрень:
Имеется класс:
PHP:
abstract class singleton {
protected static $instance;
abstract public function get_instance($instance=NULL);
}
abstract class blabla extends singleton{
public static function init($var) {
$obj=self::get_instance();
//...
}
}
class child_blabla extends blabla {
public static function get_instance($instance=NULL) {
//...
if(!isset(self::$instance) {
//...
}
return self::$instance;
}
}
child_blabla::init('asd');
Fatal error: Cannot call abstract method singleton::get_instance() in blabla.php on line 22
В итоге - ни чего умного на ум не пришло, кроме как метод init() сделать не статичным.
Но тогда не понятно каким мокаром теперь инитить объект в разные положения, не написав дополнительных строчек в коде, не связанном с библиотекой? Метод которого наследуется...
Уже блин, вроде, смирился с тем, что для синглтона приходится в каждом отдельном классе писать по функции...
Но это вообще через чур....
На последок- вопрос - как бы вы поступили в вышеизложенной мною ситуации...
ЗЫ. Чорд, хотел в оффтоп запостить 8)
ЗЫ.ЗЫ Менять архитектуру - это понятно, но как её лучше изменить ? Ваши мнения...