partizan
Новичок
Singleton и наследование
Нужно в проекте иметь несколько классов со свойством Singleton-a (имеющих единственный экземпляр)
Хотел создать базовый класс Singleton и от него все остальные наследовать
но в методе getInstance() будет создаваться экземпляр базового класса Singleton, а не наследника. get_class() и reflection не помогает, т.к. функция статическая.
Есть варианты решения даной проблемы?
Единственное, что смог придумать - в каждом наследнике переопределять переменную, в которой будет храниться имя класса, и это имя использовать в методе getInstance
Нужно в проекте иметь несколько классов со свойством Singleton-a (имеющих единственный экземпляр)
Хотел создать базовый класс Singleton и от него все остальные наследовать
PHP:
class Singleton
{
private static $instance = null;
public static function getInstance ( )
{
if ( is_null ( self::$instance ) )
{
self::$instance = new Singleton ( );
}
return self::$instance;
}
}
class NewClass extends Singleton
{
...
}
$a = NewClass::getInstance();
Есть варианты решения даной проблемы?
Единственное, что смог придумать - в каждом наследнике переопределять переменную, в которой будет храниться имя класса, и это имя использовать в методе getInstance

