Многократная инициализация user_ объектов PHP
Случайно набрёл, отлаживая конструктор user_ класса, что он запускается столько же раз, сколько мы имеем вызовов объектов
Код:
lib... = USER |
И в чем же отсутствие логики?
|
Возможно, я не прав, но я бы предпочёл единичную инициализацию класса. Я уже написал - мыслю PHP-категориями, то есть так как привык работать. Не обращайте внимания, мой испуг уже прошёл, главное, что USER кэшируется :)
|
Цитата:
USER может тоже не кэшироваться при установке no_cache = 1... Вместе со всей страницей. |
PHP вряд ли другое :) Инициализация объекта имелась в виду, конечно, извиняюсь. То, что там самостоятельные объекты, я понял, вопрос закрыт.
|
Важный вопрос вдогонку - можно как-то прописать запуск синглтона через USER?
Ситуация такая - один метод класса генерит данные, необходимые другому методу. Но при многократной инициализации такой подход можно реализовать только через singleton. Код:
lib.content = USER Передавать через $GLOBALS как-то неэтично, верю, есть более изящный и логичный Typo3-way :) |
Существует глобальный массив T3_VARS. Однако мне кажется, что здесь ошибка в логике проектирования приложения. Что вы будете делать, если пейджер будет вызван до content?
|
Да, логика хромает - жесткий дедлайн, выбора нет, в ход идут любые костыли и т.д. Реальный ужос, я противник такого, но иногда бывает и так. После запуска "любой ценой" будет рефакторинг. За T3_VAR (у Вас опечатка) спасибо, но глобальный массив - это не ООП :), а интересует именно работа USER с синглтоном, раз уж о чём-то таком упомянул Павел.
|
Цитата:
Нужен Singleton, ну так делайте! Если PHP4, то без $GLOBALS (или $_SESSION) не обойтись никак. Если дедлайн, то чего бы просто не сделать, а потом уже рассуждать об ООП? |
Да, php4, будем пробовать.
А почему Вы решили, что делается иначе? ;) Итак, продолжаем после дедлайна :))) Цитата:
Я не понимаю, как можно запускать класс user_view синглтоном (надо полагать, инициализация происходит в ходе парсинга TS). Если Вы поннимаете, подскажите, пожалуйста. ps Классы, которые вызывает user_view вызывать как синглтоны не проблема, это работает. |
Часовой пояс GMT +4, время: 19:37. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot