有人可以提供一些提示和/或示例控制器插件和動作助手是不同的?有沒有可以用一個而不是另一個來完成特定任務的情況?對我而言,他們看起來都差不多,而且我經常無法決定何時使用......有什麼重大區別?Zend框架:控制器插件和動作助手
26
A
回答
29
控制器插件可以在路由過程中的任何點(preDispatch postDispatch,routeStartup,routeShutdown)掛接到任何控制器,這使得它們可以提供幕後功能,如ACL強制執行。
動作助手是爲您的控制器可能需要訪問可重複使用的,但可選的段(重定向,flashMessenger)。
所以,如果你正在創建的代碼,總是需要執行,然後自己使用控制器插件可重用的代碼片段,否則你可能要一個動作助手。
14
你可以認爲它是這樣的:
- 動作助手用來方法添加到控制器。
- 控制器插件用於向控制器添加路由/調度邏輯。
所以問問自己,我有一種方法,我想能夠從我的控制器中的所有操作調用?或者我需要在路由/調度過程中添加邏輯。
您還可能有一個看的Built in Action Helpers。
2
動作助手還可以訪問到真實正在執行的實際controlller對象。控制器插件只能訪問FrontController,因此只能訪問控制器和操作名稱。
使用哪種取決於你所需要的內容。例如,如果您需要訪問連接到控制器的視圖對象,則需要一個Action Helper。
6
圖片說明插件和動作助手之間的差:在前端控制器生命週期過程 ZF Sequence Flow
0
還要注意,插件得到控制(或調用)第一比動作助手。
相關問題
- 1. Zend框架控制器操作助手
- 2. Zend框架動作助手
- 3. Zend框架動作助手問題
- 4. Zend框架2動作助手?
- 5. Zend框架插件控制器發送變量到控制器
- 6. Zend控制器插件和子類動作控制器
- 7. zend框架:插件控制器不起作用
- 8. Zend框架:在助手
- 9. Zend框架 - 跨控制器
- 10. Zend框架 - 在控制器
- 11. 控制器不工作在zend框架
- 12. Zend框架控制器停止工作
- 13. 如何從JavaScript調用Zend框架控制器和動作
- 14. Zend框架中的開關控制器和控制器內的動作1
- 15. Zend框架 - 控制訪問控制器
- 16. 如何在zend框架中註冊新助手(定製助手)
- 17. Zend的控制器動作助手沒有找到
- 18. 前端控制器插件中的訪問動作助手
- 19. 你如何包括一個控制器插件(Zend框架)
- 20. Zend框架中特定於模塊的控制器插件
- 21. 自定義視圖助手VS動作視圖助手Zend框架
- 22. Zend框架動作助手或其他東西?
- 23. Zend框架:從動作助手重定向
- 24. 如何在控制器中使用翻譯助手在zend框架2
- 25. zend _forward控制器插件
- 26. zend框架中的控制器的動作的url
- 27. Zend框架模塊,控制器,動作具體路線
- 28. Zend框架包括其他類在我的動作控制器
- 29. 如何在Zend框架得到控制器名,動作名2
- 30. Zend框架調用另一個控制器動作
只是要注意動作控制器還可以執行自己,因爲他們有preDispatch()方法和執行postDispatch()掛鉤。 ActionHelperBroker用於控制這個。 – 2010-04-11 11:11:17