有人可以告诉我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”的属性
答案 0 :(得分:2)
$_helper
是一个神奇的小东西,可以在需要时加载动作助手。它在已注册的路径中查找 - 默认情况下为Zend/Controller/Action/Helper
- 您可以在其中找到viewRenderer
帮助程序。
该类没有viewRenderer
属性的事实是因为HelperBroker通过magic __call
方法处理所有请求。
此调用方法查找帮助程序(在本例中为viewRenderer)并在该帮助程序上调用direct()
方法。