无法在Zend Framework Controller插件中的postDispatch()中的viewRenderer上调用setNoRender()

Gnu*_*fo1 4 php zend-framework

调用setNoRender()或者实际上viewRenderer帮助器上的任何方法似乎都对控制器插件没有影响.

class TestPlugin extends Zend_Controller_Plugin_Abstract
{
    public function postDispatch(Zend_Controller_Request_Abstract $request)
    {
        $viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
        $viewRenderer->setNoRender();
    }
}
Run Code Online (Sandbox Code Playgroud)

视图脚本仍然呈现.并且插件肯定在运行,因为我可以将回声放在这里并且它们将输出.

use*_*395 5

你必须将它放在你postDispatch的Controller插件中.

$viewRenderer = Zend_Controller_Action_HelperBroker::getExistingHelper('viewRenderer');
$viewRenderer->setNeverRender(true);
Run Code Online (Sandbox Code Playgroud)