Zend_Controller_Action_Helper_Abstract和Zend_View_Helper_Abstract之间的区别

rod*_*odi 0 php zend-framework

我想知道两个助手Zend_Controller_Action_Helper_AbstractZend_View_Helper_AbstractZend框架之间的差异,我不明白.

Gor*_*don 17

就像他们的名字一样:

ActionHelper用于控制器操作中所需的可重用功能,而ViewHelper用于视图模板中的可重用功能.

来自http://zendframework.com/manual/en/zend.controller.actionhelpers.html

Action Helpers允许开发人员将运行时和/或按需功能注入任何扩展Zend_Controller_Action的Action Controller.Action Helpers旨在最大限度地减少扩展抽象Action Controller的必要性,以便注入通用的Action Controller功能.

来自http://zendframework.com/manual/en/zend.view.helpers.html

在视图脚本中,通常需要反复执行某些复杂功能:例如,格式化日期,生成表单元素或显示操作链接.您可以使用帮助程序类为您执行这些行为.

主要思想是将常用功能封装到对象中,而不是重新创建该功能或使用继承(这会使基类膨胀并违反单一责任原则).ZF区分ViewHelpers和ActionHelpers,因为它们有不同的责任.ActionHelpers用于帮助处理请求,而ViewHelpers用于帮助呈现模型.