zend框架引导程序中的变量



我在引导文件中的两个函数中有$view变量,除非我注释掉其中一个,否则它们不能同时工作,我需要同时使用这两个函数请帮助

protected function _initNavigation()
{
    $this->bootstrap('layout');
    $layout = $this->getResource('layout');
   // $view = $layout->getView();
   // $navigation = new Zend_Navigation($this->getOption('navigation'));
   // $view->navigation($navigation);
}
protected function _initjQuery(){
    $view = new Zend_View();
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
    $viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
    $viewRenderer->setView($view);
    Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
}

在一个函数中,您使用布局资源中的View对象,在另一个函数中将创建一个新的View对象。如果将第二个函数更改为与第一个函数一样工作,则无需创建新的视图或将其注入视图渲染器。

我建议将您的代码更改为:

protected function _initNavigation()
{
    $this->bootstrap('layout');
    $layout = $this->getResource('layout');
    $view = $layout->getView();
    $navigation = new Zend_Navigation($this->getOption('navigation'));
    $view->navigation($navigation);
}
protected function _initjQuery()
{
    $this->bootstrap('layout');
    $layout = $this->getResource('layout');
    $view = $layout->getView();
    $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper");
}

最新更新