我想创建一个全局Zend_Log
对象,我可以从控制器和模型中找到它。
我应该在Bootstrap中添加什么? (我的引导程序扩展了Zend_Application_Bootstrap
)
如何从控制器操作和模型中获取记录器对象?
答案 0 :(得分:3)
与其他任何类一样 - 将其分配给Zend_Registy。我建议这样设置:
Zend_Registry::set('Zend_Log',$logInstance);
这是一种常见的方式,也用于翻译(将翻译实例设置为'Zend_Translate',类似表格和验证器的类会自动找到它)。
您可以使用Zend_Registry::get('Zend_Log')->log(...)
记录您想要的任何地方。从架构的角度来看它不是很好(你不应该正常使用),但对于日志 - 它几乎可以出现在应用程序的任何地方,从视图助手到控制器和模型,这是一件好事。