Как сделать глобальный Zend_Log с Zend_Application_Bootstrap - PullRequest
0 голосов
/ 11 октября 2009

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

Что я должен добавить к своей начальной загрузке? (Мой бутстрап расширяется Zend_Application_Bootstrap)

Как тогда я могу достичь объекта регистратора из действий моего контроллера и из моей модели?

1 Ответ

3 голосов
/ 11 октября 2009

Как и в случае с любым другим классом - присвойте его Zend_Registy. Я бы посоветовал установить так:

Zend_Registry::set('Zend_Log',$logInstance);

Это распространенный способ, который также используется для перевода (установите для экземпляра translate значение 'Zend_Translate', и классы, такие как формы и валидаторы, найдут его автоматически).

Вы можете использовать Zend_Registry::get('Zend_Log')->log(...) для входа в систему где угодно. Это не очень хорошо с точки зрения архитектуры (вы не должны нормально использовать), но для журнала - который может появляться практически в любом месте приложения, от помощников вида до контроллеров и моделей - это хорошо.

...