Php 致命错误:在zend framework中调用成员函数setView()

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

我刚刚下载了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
{
    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;?你不应该重新映射一个全局可用的常量,它会弄乱你的代码,让其他人难以反省。你解决问题了吗?现在的答案没有一个对你有帮助吗?