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クラスを Library の下に配置するか、別の場所にマップする必要があります。frontcontroller プラグインは正しく設定されているようですが、オートロード定義が正しくありません。

ここで行う最も簡単な方法は、プラグインに名前を付けることですYourAppNamespace_Plugin_YourPluginName

于 2012-04-21T17:24:07.130 に答える
1

これらは、ZF の 2 種類のプラグインです。それぞれの一部を混合しています。

コードを機能させるには

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