1

我的插件目录位于

application
  /plugins
    Dbcount.php
    ModuleLayout.php

我无法使用 frontController 注册插件。这是我的 application.ini 代码。

#Plugin path and namespace
pluginPaths.Plugins = APPLICATION_PATH "/plugins"
autoloaderNamespaces[] = "Plugin_"

#register plugin
resources.frontController.plugins[] = "Plugin_DbCount"

它给了我以下错误。

Warning: include_once(Plugin/DbCount.php) [function.include-once]: failed to open stream: No such file or directory in /Users/azhararmar/htdocs/joofris/v1/library/Zend/Loader.php on line 146

Warning: include_once() [function.include]: Failed opening 'Plugin/DbCount.php' for inclusion (include_path='/Users/azhararmar/htdocs/joofris/v1/application/../library:/Users/azhararmar/htdocs/joofris/v1/library:.:/Applications/MAMP/bin/php5.2/lib/php') in /Users/azhararmar/htdocs/joofris/v1/library/Zend/Loader.php on line 146

Fatal error: Class 'Plugin_DbCount' not found in /Users/azhararmar/htdocs/joofris/v1/library/Zend/Application/Resource/Frontcontroller.php on line 117

怎么了?

4

3 回答 3

3

如果您使用的是默认的 appnamespace Application,那么存储在其中的插件application/plugins/DbCount.php应该命名为Application_Plugin_DbCount. 注册时使用完整的班级名称:

resources.frontController.plugins[] = "Application_Plugin_DbCount"

于 2012-04-21T16:49:42.127 回答
1

要使用这样的命名空间,您的Plugin类需要位于库下,或者您需要将它们映射到其他位置。看起来您的前端控制器插件设置正确但自动加载定义不正确。

在这里做的最简单的事情就是给你的插件命名YourAppNamespace_Plugin_YourPluginName

于 2012-04-21T17:24:07.130 回答
1

它们是 ZF 中的两种插件。您正在混合每个 .

让你的代码工作

1) put application dir in include_path
2) change directory name plugins to 'Plugin' 
于 2012-04-21T17:37:09.963 回答