zend action帮助从控制器使用所需的解释

时间:2010-12-09 15:04:41

标签: php model-view-controller zend-framework

有人可以告诉我zend动作助手是如何正常工作的,我的意思是,即使我已经在我的代码中使用过它,我觉得我的理解中缺少一些东西:

e.g。我有这样的事情

$this->_helper->viewRenderer->setRender('edit',null,true);

我的代码,以便我能够渲染添加动作以使用编辑页面(因为添加与编辑相同......在UI基础上至少)

但我的问题是,据我所知,_helper是

的一个实例
/**
 * Helper Broker to assist in routing help requests to the proper object
 *
 * @var Zend_Controller_Action_HelperBroker
 */
protected $_helper = null;

但是当我试图在库文件夹中看到这个类“Zend_Controller_Action_HelperBroker”时,我找不到名为“viewRenderer”的属性

1 个答案:

答案 0 :(得分:2)

$_helper是一个神奇的小东西,可以在需要时加载动作助手。它在已注册的路径中查找 - 默认情况下为Zend/Controller/Action/Helper - 您可以在其中找到viewRenderer帮助程序。

该类没有viewRenderer属性的事实是因为HelperBroker通过magic __call方法处理所有请求。

此调用方法查找帮助程序(在本例中为viewRenderer)并在该帮助程序上调用direct()方法。