當前我正在使用視圖幫助器來幫助我的調試過程。基本上我調用這個函數,它檢查1:我是否通過檢查Zend_Session_Namespace變量以及是否使用Zend_Registry在debug_mode中運行應用程序,以開發者身份登錄。如果它們都是真的,我會顯示一些不同的調試變量和任何我給輔助器作爲輸入的參數。能夠訪問Zend對象的全局幫助器函數
本來這個功能只是爲了檢查我在分配給視圖的對象中獲得了正確的信息,但我很快發現它在其他地方也很有用。目前該函數在使用$ this-> view的控制器中工作,我想我可以在技術上沿着新的Zend_View()使用某些東西;或者Zend_Controller_Action_HelperBroker :: getStaticHelper('viewRenderer');在我的模型中獲得一個視圖對象,但即使它僅用於調試,這也很難看。所以我的問題是:如何重建這個助手到一個全局函數(在模型,視圖和控制器中可用),並仍然能夠使用Zend_Session_Namespace和Zend_Registry對象,同時(儘可能)維護MVC結構體。
http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelper.writingyourown – vascowhite 2012-03-20 20:45:28
「Action Helpers允許開發人員將運行時和/或按需功能注入任何擴展Zend_Controller_Action的動作控制器「 我的控制器擴展了Zend_Controller_Action,但我的視圖和模型不支持,所以這會迫使我至少編寫兩個相同函數的副本。 – Lobo 2012-03-20 20:50:38
不,您可以將幫助器從控制器傳遞到視圖(如果需要的話)。或者這不符合你的使用模式? – vascowhite 2012-03-20 22:19:00