Можно ли вызывать объект шаблона реестра внутри объектов, из которых состоит реестр? - PullRequest
0 голосов
/ 21 января 2010

В последнее время я задал несколько вопросов об использовании шаблонов singleton и реестра, но у меня есть новый вопрос.

Допустим, у меня есть 3 объекта основного класса в PHP, к которым мне нужно иметь доступ из 20 других файлов классов и по соседству.

  • Объект базы данных
  • Объект кэша
  • Основной объект

Затем я могу использовать шаблон реестра для хранения всех 3-х этих объектов в 1 объекте реестра, который мы назовем «объектом реестра»

Класс реестра будет иметь одноэлементный метод, поэтому мы можем быть уверены, что вызовем его только один раз.

Пока все хорошо, вот где мне нужен твой совет. Все 20 других классов теперь имеют доступ к трем основным объектам, о которых я упоминал выше. Но внутри этих 3 объектов выше, можно ли включать их в реестр? Потому что им также потребуется доступ друг к другу, или я должен просто ссылаться на одноэлементный метод для базы данных, кэша и основного объекта внутри каждого из этих 3? Это может быть глупый вопрос, и я, вероятно, просто немного запутался, потому что синглтон из объекта реестра, вероятно, делает возможным включение перестройки внутри объектов, которые составляют реестр?

1 Ответ

0 голосов
/ 21 января 2010

Почему бы вам не сделать эти 3 класса статичными? Я использую статический класс базы данных, который как бы расширяет класс PDO PHP и позволяет мне использовать его следующим образом:

$sql = "SELECT * FROM table";
foreach(DB::query($sql) as $row) {
  // do something
}

Мне действительно нравится такой способ использования статических классов / функций, особенно для такого "глобального" вида вещей. Возможно, это вариант для вас тоже?

...