我想知道Zend框架中的两个助手Zend_Controller_Action_Helper_Abstract和Zend_View_Helper_Abstract之间的区别,这是我不明白的。
发布于 2011-02-24 22:21:15
顾名思义:
ActionHelper用于控制器操作中所需的可重用功能,而ViewHelper用于视图模板中的可重用功能。
来自http://zendframework.com/manual/en/zend.controller.actionhelpers.html
操作助手允许开发人员将运行时和/或按需功能注入到任何扩展Zend_Controller_Action的操作控制器中。Action Helpers旨在将扩展抽象Action Controller以注入通用Action Controller功能的必要性降至最低。
来自http://zendframework.com/manual/en/zend.view.helpers.html
在视图脚本中,通常需要一遍又一遍地执行某些复杂的功能:例如,格式化日期、生成表单元素或显示操作链接。您可以使用帮助器类为您执行这些行为。
其主要思想是将经常使用的功能封装到对象中,而不是重新创建该功能或对其使用继承(这将使基类变得臃肿,并违反单一责任原则)。ZF区分ViewHelpers和ActionHelpers,因为它们有不同的职责。ActionHelpers用于帮助处理请求,而ViewHelpers用于帮助渲染模型。
发布于 2011-02-27 03:40:32
简单的经验法则如果你的视图帮助器需要知道你的模型(使用Zend_Db_Table),那么你做错了,而应该使用动作帮助器。Action helper的好处您可以访问诸如preDispatch和postDispatch之类的钩子。
查看助手的好处,你也可以在动作控制器中使用它,例如echo $this->view->myHelper();,我已经看到这个用得很不对劲。
https://stackoverflow.com/questions/5105808
复制相似问题