AlkatraZ,
Неявностью содержимого сртадают практически все патерны.
Чтоб была явность, нам нужно сбацать Monostate класс, где прописать статические переменные для каждого объекта.
Не знаю, смотрел ли ты когда-нибудь на DooPHP.
Там класс Doo.php сделан в точности так как ты описал
Нормальный кодер практически всегда должен точно знать где и что у него инициализируется.
А такие заморочки типа "а вдруг кто-то еще раз инициализирует класс", я бы такого "кто-то еще" кодера сразу бы уволил из фирмы, если бы он подсунул мне подобную каку.
Не, отложенная инициализация бывает полезной, особенно при работе с данными, но дело даже не в этом.
Я упомянул о "затрудненом lazy initialization" при обсуждении Registry скорее из-за не любви к онному
Просто не понимаю зачем городить огороды для того что-бы получить ф-ционал тех же глобальных переменных, со всеми ихними недостатками.
Мне кажется что гораздо эфективней реализовать некий контейнер из которого можно просто вытягивать необходимые инструменты и в котором будит инкапсулированна вся логика по инициализации... хм, похоже я опять о сервис локаторе
Кстати, в данном смысле мне очень понравился Toolkit из MZZ, который по сути является сервис локатором.