我刚下载了zend框架(完整版)并将zend库复制到库文件夹中,但仍然出现此错误
致命错误:在第16行的/var/www/html/webkul/zf_1.8b1_app/application/Bootstrap.php中的非对象上调用成员函数setView()
请建议任何有关如何在linux环境中设置zend框架的工作教程
问候
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;
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
我不喜欢覆盖默认引导链的概念,包括创建视图实例,但我可以建议检索已创建的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 ;
答案 2 :(得分:0)
你不需要在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
}