Zend框架插件和助手 - 更多信息

4

我正在努力理解这些问题,并阅读了《Zend Framework in Action》(Allen)和在线文档。我的理解是:

  • Action Helpers为控制器提供按需功能;
  • Controller Plugins为所有控制器提供运行时功能。

这样对吗?

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

最后,View Helpers是否具有类似的特性,还是完全不同的东西?

如果有更多文档指针,将不胜感激!

1个回答

6

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

Action Helpers 通过 pre 和 post dispatch 方法向所有控制器提供按需和运行时功能。

由于大多数开发人员只需要钩入这些事件,我经常看到 ZF 的开发人员(特别是 Ralph 和 Matthew)建议使用这些而不是控制器插件。

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

我看到控制器插件和 Action Helpers 都可以有 init()、preDispatch() 和 postDispatch() 方法。相对于 Action Controller 本身以及其他插件和 Helpers,它们的优先级如何执行?

对于控制器插件,请参见 http://framework.zend.com/manual/en/zend.controller.plugins.html(FYI,控制器插件没有 init() 方法)。

对于控制器 Action Helpers,请参见 http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelper.writingyourown

最后,视图助手是否具有类似的特点,或者它们完全是不同的东西?

视图助手与操作助手相似,因为它们都由代理管理,但这大概就是它们唯一的相似之处了。

视图助手本质上是内容生成工具。在底层,它们可以像所需的那样简单或复杂,但主要目标始终是字符串创建。


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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接