TheWanderer
Новичок
Реализация Singleton в PHP
У меня следующая проблема. Существует единственный системный объект, который иницализирует другие объекты, вроде драйвера БД, шаблонизатора и т.п. Стандартный набор. Кроме того, в зависимости от запроса пользователя он инициализирует еще один или несколько объектов (список их имен хранится отдельно). Задача в том, чтобы созданные драйвер БД, шаблонизатор и те самые "и т.п." были доступны из этих объектов. В данный момент контструктору передается ссылка на системный объект и код выглядит следующим образом:
Естетсвенно, такие трехэтажные конструкции - это форменное безобразие и тихий ужас. Вопрос в том, как мне организовать свой код, чтобы подобных проблем не было. Неужели реализация Singleton в PHP обязательно должна упираться в obj::getRef()? У меня стойкое ощущение, что я изобретаю велосипед и прикрутил колеса совсем не туда, куда следует.
У меня следующая проблема. Существует единственный системный объект, который иницализирует другие объекты, вроде драйвера БД, шаблонизатора и т.п. Стандартный набор. Кроме того, в зависимости от запроса пользователя он инициализирует еще один или несколько объектов (список их имен хранится отдельно). Задача в том, чтобы созданные драйвер БД, шаблонизатор и те самые "и т.п." были доступны из этих объектов. В данный момент контструктору передается ссылка на системный объект и код выглядит следующим образом:
PHP:
class example
{
private $system;
public function __construct($system)
{
$this->system = $system;
$this->start();
}
public function start()
{
$this->system->db->query('SELECT c,d,e FROM table1 WHERE a=b');
}
}