1
29
控制器插件可以在路由过程的任何一点(predispatch postdespatch、routestartup、routeshutdown)连接到任何控制器,这使得它们易于提供诸如acl强制之类的后台功能。 操作帮助程序用于控制器可能需要访问的可重用但可选的段(重定向程序、FlashMessenger)。 因此,如果您正在创建一个总是需要自己执行的可重用代码片段,那么请使用一个控制器插件,否则您可能需要一个操作助手。 |
2
14
你可以这样想:
所以扪心自问,我是否有一种方法可以从控制器中的所有操作调用?或者我需要在路由/分派过程中添加逻辑。 你也可以看看 Built in Action Helpers . |
3
6
说明插件和动作助手之间区别的图片: ZF Sequence Flow |
4
2
动作助手还可以访问正在执行的实际controller对象。控制器插件只能访问frontcontroller,因此只能访问控制器和操作名。 你用什么取决于你需要什么样的语境。例如,如果需要访问连接到控制器的视图对象,则需要一个操作助手。 |
5
0
还要注意,在前控制器生命周期过程中,插件首先获得控件(或调用)而不是操作帮助程序。 |