Php 致命错误:在zend framework中调用成员函数setView()
我刚刚下载了zend framework完整版本,并将zend库复制到库文件夹中,但仍然收到此错误 致命错误:在第16行的/var/www/html/webkul/zf_1.8b1_app/application/Bootstrap.php中对非对象调用成员函数setView 请提供有关如何在linux环境中设置zend framework的任何工作教程 问候Php 致命错误:在zend framework中调用成员函数setView(),php,zend-framework,Php,Zend Framework,我刚刚下载了zend framework完整版本,并将zend库复制到库文件夹中,但仍然收到此错误 致命错误:在第16行的/var/www/html/webkul/zf_1.8b1_app/application/Bootstrap.php中对非对象调用成员函数setView 请提供有关如何在linux环境中设置zend framework的任何工作教程 问候 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap { p
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function _initView()
{
// Initialize view
$view = new Zend_View();
$view->doctype('XHTML1_STRICT');
$view->headTitle('My Project');
$view->env = APPLICATION_ENV;
// Add it to the ViewRenderer
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper(
'ViewRenderer'
);
$viewRenderer->setView($view);
// Return it, so that it can be stored by the bootstrap
return $view;
}
}
我不喜欢覆盖默认引导链(包括创建视图实例)的概念,但我可以建议检索已经创建的视图对象实例 我假设您也在使用布局
$this -> bootstrap ('layout');
$layout = $this -> getResource ('layout');
$view = $layout -> getView();
$view->addHelperPath('Dagho/View/Helper', 'Dagho_View_Helper');
$view -> doctype('XHTML1_STRICT');
$view->headMeta()->appendHttpEquiv('Content-Type',
'text/html; charset=utf-8')
->appendHttpEquiv('Content-Language', 'en-US');;
$view->headLink(array('rel' => 'favicon',
'href' => $view->baseUrl().'/img/favicon.ico'),
'PREPEND');
$view -> headLink() -> prependStylesheet($view->baseUrl('/css/demo.css'))
->prependStylesheet($view->baseUrl('/css/text.css'))
->prependStylesheet($view->baseUrl('/css/960.css'))
->prependStylesheet($view->baseUrl('/css/reset.css'));
$view->headScript()->appendFile($view->baseUrl('js/jquery-1.5.1.min.js') , "text/javascript")
->appendFile($view->baseUrl('js/jquery-ui.min.js') , "text/javascript");
$view -> headTitle('WebSite title');
$view -> headTitle() -> setSeparator( ' : ' );
$trackerId = 'UA-XXXXXX-X';
$googleAnalytics = $view->GoogleAnalytics($trackerId);
Zend_Registry::set("view", $view);
return $view ;
在bootstrap类中不需要做很多这样的事情;Zend现在为你做了很多。在application.ini中,如果使用以下行,它将为您初始化视图:
resources.view[] = ""
您也可以在此处设置doctype和其他参数,而无需调用$view->doctype:
resources.view.params.doctype = "XHTML1_STRICT"
如果确实需要在引导中操作视图对象,请执行以下操作:
protected function _initViewSetup()
{
$this->bootstrap('view');
$view = $this->getResource('view');
$view->env = APPLICATION_ENV
}
顺便说一句,你为什么这么做:$view->env=APPLICATION\u env;?你不应该重新映射一个全局可用的常量,它会弄乱你的代码,让其他人难以反省。你解决问题了吗?现在的答案没有一个对你有帮助吗?