Zend Framework插件和助手 - 更多信息

Kim*_*nce 4 zend-framework

我正试图解决这些问题,并一直在阅读Zend Framework in Action(Allen)和在线文档.在我看来,这:

  • Action Helpers为控制器提供按需功能; 和
  • 控制器插件为所有控制器提供运行时功能.

是对的吗?

其次,我看到Controller Plugins和Action Helpers可以有init(),preDispatch()和postDispatch()方法.相对于Action Controller本身的那些,以及其他插件和Helpers中的那些,它们执行的优先级是什么?

最后,View Helpers是否有类似的特征,或者这些是完全不同的野兽?

任何指向更多文档的指针都将非常感谢!

Phi*_*hil 6

Action Helpers为控制器提供按需功能

动作助手通过前后调度方法为所有控制器提供按需功能和运行时功能.

由于大多数开发人员只需要参与这些事件,我经常会看到ZF人员(特别是Ralph和Matthew)推荐这些控制器插件.

这方面的两者之间的主要区别是控制器插件在调度周期的各个阶段提供了更多的钩子.

我看到Controller Plugins和Action Helpers可以有init(),preDispatch()和postDispatch()方法.相对于Action Controller本身的那些,以及其他插件和Helpers中的那些,它们执行的优先级是什么?

有关控制器插件,请参阅http://framework.zend.com/manual/en/zend.controller.plugins.html(仅供参考,没有init()控制器插件的方法).

有关控制器操作帮助程序,请参阅http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelper.writingyourown

最后,View Helpers是否有类似的特征,或者这些是完全不同的野兽?

查看帮助程序与动作帮助程序类似,因为它们都由代理程序编组,但这是唯一的相似性.

查看帮助程序本质上是内容生成工具.在引擎盖下,它们可以根据需要简单或复杂,但主要目标始终是字符串创建.


我强烈推荐阅读马修的这篇文章 - http://weierophinney.net/matthew/archives/246-Using-Action-Helpers-To-Implement-Re-Usable-Widgets.html