我正在使用zend框架的MVC。我发现的一件事是Zend Framework在调用控制器时尝试包含视图脚本。我可以使用以下代码在bootstrap中禁用它。
$ frontController-> setParam( 'noViewRenderer方法,设定',TRUE);
但是,我必须在控制器方法中初始化Zend_View类,然后自己呈现脚本文件。
如何在控制器方法中停止包含视图脚本,以便只在我想要的时候禁用它?
答案 0 :(得分:32)
您可以使用控制器中的以下代码禁用视图渲染器控制器助手:
public function myAction()
{
$this->_helper->viewRenderer->setNoRender(true);
// from now on, ZF won't search for a matching view script file.
}
答案 1 :(得分:6)
最好的例子是使用上述两个命令:
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());
}
不会渲染布局也不会查看脚本。
答案 2 :(得分:1)
很简单,只需在行动中禁用它。
$this->_helper->layout->disableLayout();
如果您不是在谈论布局,那么只需在您的操作中添加一个exit()即可。只需了解对您的应用程序会产生什么样的影响。