index.php中的控制器如下
require('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::autoload(true);
$registry = Zend_Registry::getInstance();
//配置视图脚本路径
$view = new Zend_View();
$view->setScriptPath('./app/views/scripts/themes/');
$registry['view']=$view;
//配置前端控制器
$controller = Zend_Controller_Front::getInstance();
$controller->setBaseUrl('/zfweb')
->addModuleDirectory('./app/modules/')
->setModuleControllerDirectoryName('controllers')
->setParam('noViewRenderer',true)
->setParam('noErrorHandler',true)
->setParam('useDefaultControllerAlways', true)
->dispatch();
我使用的是模块化的设计结构,但是当我访问localhost/zf/index的时候提示Fatal error: Call to undefined method stdClass::render() in 。我怀疑是视图对象根本就没被引用到indexController.php中,但是我在indexController.php
中用了
public function ini(){
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
}
但是就是提示上面那个错误。请帮忙看看谢谢
require('Zend/Loader/Autoloader.php');
Zend_Loader_Autoloader::autoload(true);
$registry = Zend_Registry::getInstance();
//配置视图脚本路径
$view = new Zend_View();
$view->setScriptPath('./app/views/scripts/themes/');
$registry['view']=$view;
//配置前端控制器
$controller = Zend_Controller_Front::getInstance();
$controller->setBaseUrl('/zfweb')
->addModuleDirectory('./app/modules/')
->setModuleControllerDirectoryName('controllers')
->setParam('noViewRenderer',true)
->setParam('noErrorHandler',true)
->setParam('useDefaultControllerAlways', true)
->dispatch();
我使用的是模块化的设计结构,但是当我访问localhost/zf/index的时候提示Fatal error: Call to undefined method stdClass::render() in 。我怀疑是视图对象根本就没被引用到indexController.php中,但是我在indexController.php
中用了
public function ini(){
$this->registry = Zend_Registry::getInstance();
$this->view = $this->registry['view'];
$this->view->baseUrl = $this->_request->getBaseUrl();
}
但是就是提示上面那个错误。请帮忙看看谢谢
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer();
$viewRenderer->setView($view)->setViewBasePathSpec('./app/views/scripts/themes/');
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);另外你怎么把noViewRenderer设置为true?这个值不能设置。至于Zend_Registry,应该这样子用:
$registry = Zend_Registry::getInstance();
$registry->set('view', $view);
不过在你这里根本就不必要