我正在玩zend框架的MVC.我发现的一件事是Zend Framework在调用控制器时尝试包含视图脚本.我可以使用以下代码在bootstrap中禁用它.
$ frontController-> setParam( 'noViewRenderer方法,设定',真);
但是,我必须在控制器方法中初始化Zend_View类,然后自己呈现脚本文件.
如何在控制器方法中停止包含视图脚本,以便我可以禁用它,如果我想要的话?
您可以使用控制器中的以下代码禁用视图渲染器控制器助手:
public function myAction() { $this->_helper->viewRenderer->setNoRender(true); // from now on, ZF won't search for a matching view script file. }
最好的例子是使用上面的两个命令:
public function myAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); }
第一个禁用布局,通常启用
的application.ini
默认
resources.layout.layoutPath = APPLICATION_PATH"/ layouts/scripts"
$this->_helper->layout->disableLayout();
第二个禁用视图脚本(.phtml),因此如果找不到视图脚本文件,则不会引发异常
$this->_helper->viewRenderer->setNoRender(true);
还有一些视图帮助程序包括bouth侦听abowe并且不是必需的,例如,您希望从数组数据返回JSON而不渲染视图元素.
public function myAction() { $this->_helper->json(array()); }
不会渲染布局也不会查看脚本.