В настоящее время плагины, которые я пишу, работают или не работают случайным образом.Некоторые работают, некоторые нет, а некоторые работают часть времени, опять же без очевидного паттерна.Даже если все то же самое написано и зарегистрировано (по-видимому) таким же образом.И я не могу найти надлежащую документацию о том, где разместить ваши плагины и как их зарегистрировать в application.ini, поэтому мне нужно опираться на примеры, которые я нахожу в блогах или здесь.И, скорее всего, некоторые из этих примеров предполагают, что в моем коде могут быть неверные вещи.
Поэтому я просто приведу простой пример, и если вы могли бы предложить, как заставить его работать, и дать ссылки на хорошие статьи оПлагины ZF, я очень признателен за то, что ...
Вот как я сейчас работаю:
Структура каталогов:
/library
/Zend
/Plugins
Myplugin.php
/applications
/myApp
/configs
application.ini
/modules
/default
/controllers
/configs
/views, etc
/admin
/controllers
/configs
/views, etc
Bootstrap.php
/public_html
index.php
Myplugin.php содержит один класс:
Class Plugins_Myplugin extends Zend_Controller_Plugin_Abstract
{
public function init()
{
print 'If I can see this, it's finally working!';
}
}
Материалы, относящиеся к application.ini, выглядят так:
includePaths.library = APPLICATION_PATH "/../../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
pluginpaths.plugins = "Plugins"
resources.myplugin =
resources.frontController.plugins.myplugin = Plugins_Myplugin
;//I assume Plugins_Myplugin should be resolved into library/Plugins/Myplugin.php with class Plugins_Myplugin inside, given present configuration. Most likely I am wrong somewhere
И наиболее распространенная ошибка обычно такова:
Неустранимая ошибка: класс 'Plugins_Myplugin'не найден в /whwhat/nevermind/domains/mydomain/library/Zend/Application/Resource/Frontcontroller.php в строке 117
Иногда его можно найти , если я зарегистрируюсь"это всего лишь resources.myplugin = , пропуская всю строку * resources.frontController.plugins.myplugin = Plugins_Myplugin *.
Так что, очевидно, это неправильный способ регистрации ваших плагинов.Что не так с этим, и что было бы хорошо (используя application.ini)?