2014-03-19 4 views
1

Я собираюсь написать свою собственную абстрактную фабрику, похожую на Zend\Log\LoggerAbstractServiceFactory. Я заметил, что эта абстрактная фабрика works with plugin managers, но мне интересно, какова цель менеджеров плагинов - как в целом, так и в этом конкретном примере. Пространство имен Zend\Log включает в себя несколько менеджеров плагинов, таких как WriterPluginManager и ProcessorPluginManager, а пространство имен Zend\Log\Writer включает в себя класс FormatterPluginManager. В основном я смущен тем, что именно делают эти менеджеры плагинов.Менеджеры плагинов в Zend Framework 2

Я знаю, что есть несколько менеджеров плагин для контроллеров плагин, просмотр хелперов и т.д., и я заметил, что менеджер плагина является специализированной службой поиском, так как Zend\ServiceManager\AbstractPluginManager класса extendsZend\ServiceManager\ServiceManager.

Итак, мой вопрос: какова цель менеджеров плагинов, как в общем, так и в конкретном примере пространства имен Zend\Log? Я не мог найти документацию по этому поводу.

+2

[это] (http://samsonasik.wordpress.com/2014/01/29/zend-framework-2-getting-closer-with-pluginmanager/) было моим началом, и я никогда не оглядывался назад! –

ответ

0

pluginManager создан для управления плагином контроллера. плагин контроллера выполняется во всех запросах, например, если вы хотите проверить авторизацию или журнал, лучшим местом является плагин контроллера или любая задача должна выполнять все запросы.

2

Менеджер плагинов - это специальный сервис-менеджер, который возвращает определенный вид услуг. Они определяют метод validatePlugin(), который проверяет, действительно ли служба имеет правильный тип. Из приведенных вами примеров WriterPluginManager возвращает авторов журналов и ProcessorPluginManager неудивительно возвращает обработчики журналов.

Вам не нужно слишком беспокоиться об особенностях этого, пока ваш абстрактный завод возвращает классы, реализующие правильный интерфейс.