регистр ресурсов

Sam

Новичок
регистр ресурсов

запарился в программе всё время передавать ссылки на объекты (обработчик ошибок, бд, шаблонизатор), задумался над созданием регистра ресурсов. Будет он содержать ссылки на нужные объекты, и можно передевать только ссылку на него.

Стоит ли? поделитесь опытом )
$this->resReg->db->query
выглядит не очень здорово
 

Tor

Новичок
ну хорошо
как ты собираешся обращаться к дескрипторам в этом своем "регистре ресурсов"?
 

Sam

Новичок
никак. я обращаюсь к регистру ресурсов.

плюс тот что в методах не надо думать, какие объекты я передал в данный класс, а какие - нет. все ресурсы доступны через регистр ресурсов.

к ресурсам я обращаюсь
$this->resReg->db


Нечто
читал )
а чем синглтон лучше?
 

Нечто

Психолог РНРClub
Sam
а чем синглтон лучше?
запарился в программе всё время передавать ссылки на объекты
Получается, что при статических объектах передавать ничего не нужно - сами вызываете в конструкторе то, что потребуется.
 

svetasmirnova

маленький монстрик
Sam
Я не понимаю что плохого в синтаксисе $this->resReg->db->query, так как он лучше глобальных переменных (в PHP). Но если $this->resReg - это регистр ресурсов, то можно сделать его абстрактным классом (или даже интерфейсом) и занаследовать всё от него: вместо $this->resReg->db->query будет $this->db->query. То же самое можно реализовать через __call.

-~{}~ 10.05.05 16:13:

Нечто
Синглтон == статический объект ???
Sam
Тогда ещё мыслишка: сделать db и т.п. статическими членами. Будет такой синтаксис:
resReg::$db->query
Хотя моё мнение, что это всё ничем не лучше первого варианта.
 

Sam

Новичок
Нечто
если использовать регистр ресурсов - передавать можно только его, зато вызывать в конструкторе ничего не надо

svetasmirnova
в синтаксисе таком ничего ужасного нет, просто хочу узнать кто как эту проблему решает )
 

Нечто

Психолог РНРClub
svetasmirnova
Синглтон == статический объект ???
Нееет. В статье просто приводится, на мой взгляд, хороший пример использования статических объектов.
Sam
Да, я понял. Видимо, как кому нравится ;-)
 
Сверху