2009-10-11 56 views
0

我想創建一個全局的Zend_Log對象,我可以通過我的控制器和我的模型實現該對象。如何使用Zend_Application_Bootstrap創建全局Zend_Log

我應該添加到我的Bootstrap中? (我的引導程序延伸Zend_Application_Bootstrap

那麼我怎樣才能從我的控制器動作和我的模型到達記錄器對象?

回答

3

與其他任何類一樣 - 將其分配給Zend_Registy。我建議設置是這樣的:

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

這是一種常見的方式,它也用於轉換(轉換設置實例,「一個Zend_Translate」和喜歡的形式和驗證類會自動找到它)。

您可以使用Zend_Registry::get('Zend_Log')->log(...)來記錄您想要的任何地方。從架構的角度來看,它不是很好(你不應該正常使用),但是對於日誌來說 - 實際上它可以出現在應用程序的任何地方,從視圖助手到控制器和模型,這是一件好事。

+0

然後你需要使用Zend_Registry :: get()來檢索值,是否正確? – hourback 2013-05-24 15:32:58

+0

查看更新的答案 – 2013-05-24 16:04:39