我创建了一个驻留在application / controllers / plugin / view.php中的插件,下面是它的内容
class Application_Controller_Plugin_View extends Zend_Controller_Plugin_Abstract { public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { $frontController = Zend_Controller_Front::getInstance(); $view = $frontController->getParam('bootstrap')->getResource('view'); echo 'erace'; exit; $view->doctype('XHTML1_STRICT'); $baseUrl = $request->getBaseUrl(); if (defined('RUNNING_FROM_ROOT')) { $baseUrl .= '/public'; $frontController->setBaseUrl($baseUrl); } /* $view->headLink()->appendStylesheet($baseUrl . '/css/main.css'); $view->headLink()->appendStylesheet($baseUrl . '/css/screen.css', 'screen'); $view->headLink()->appendStylesheet($baseUrl . '/css/print.css', 'print');*/ } }
然后我在bootstrap中注册了这个插件,如下所示:
protected function _initLayoutHelper() { $front = Zend_Controller_Front::getInstance(); $front->registerPlugin(new Application_Controller_Plugin_View()); }
但它给我一个像
这样的错误( ! ) Fatal error: Class 'Application_Controller_Plugin_View' not found in C:\wamp\www\saet_new\application\Bootstrap.php on line 42
请帮帮我。
答案 0 :(得分:2)
插件是否在这里:
库/应用/控制器/插件/ view.php
我认为自定义代码属于库文件夹,并且该路径已在index.php中定义
我在引导程序中注册我的命名空间,如下所示:
$autoLoader = Zend_Loader_Autoloader::getInstance();
$autoLoader->registerNamespace('Custom_');
然后库代码可以放在文件夹库/ custom
中答案 1 :(得分:1)
我认为这是因为您正在调用Default_Application_Controller_Plugin_View
并且您的插件是Application_Controller_Plugin_View
。
你在使用模块吗?这可以解释为什么Default_会存在,虽然我认为除非设置prefixDefaultModule
,否则不需要前缀。