2012-07-02 70 views
0

我明白了什麼動作助手做,但我想不通的時候都初始化(會爲每個實例)。如果我沒有錯,控制器的_helper屬性包含每個助手類的實例集合。動作助手什麼時候初始化?

我對不對?如果是的話,都是輔助動作(類對應於助手)在應用的引導初始化(每個HTTP請求)?

回答

1

如果你看一下this part of the ZF manual,你會發現在動作助手是如何工作的多一點信息。

_helper屬性確實持有幫手實例的集合,而是保持Zend_Controller_Action_HelperBroker`的」它的實例: -

處理註冊助手對象和助手路徑,以及檢索的細節助手按需提供。

輔助函數不是在引導實例化,但將在對需求的控制,當你在你的控制器使用類似$helper = $this->_helper->getHelper('helperName');被實例化。

+0

感謝您的回答,但對於一些直接幫助像,$這 - > _ helper->網址()?它是否在呼叫中實例化?還有一,如果我重寫掛鉤的方法,如預執行postDispatch,然後調用這些方法,我必須先註冊這個幫手。所以每次我註冊一個幫手,這意味着它也被忽略了? – user1495738

+0

無論你怎麼稱呼一個動作助手它是由helperBroker需要的時候,而不是之前實例化。 – vascowhite

相關問題