Конфигурирование Zend Framework 2 AbstractPluginManager

Я потратил немного времени, пытаясь проследить свой путь через код ZF2 и документацию, но я не могу найти объяснение способа расширения конфигурации с использованием глобальной конфигурации для экземпляра Zend\Service\AbstractPluginManager когда он был зарегистрирован в качестве менеджера службы с помощью прослушивателя службы.

Обзор классов, которые я создал:

  • AssetManager\AssetFilterPluginManager: расширяет AbstractPluginManager

  • AssetManager\Service\AssetFilterManagerFactory: Расширение фабрики Zend\Mvc\Service\AbstractPluginManagerFactory с const PLUGIN_MANAGER_CLASS установлен в "AssetManager\AssetFilterManagerFactory"

  • AssetManager\AssetFilterProviderInterface: Функциональный интерфейс модуля

в config/module.config.php Я настроил прослушиватель службы следующим образом:

'service_listener_options' => array(
array(
'service_manager' => 'AssetFilterManager',
'config_key'      => 'asset_filters',
'interface'       => 'AssetManager\AssetFilterProviderInterface',
'method'          => 'getAssetFilterConfig',
),
),

Конфигурация диспетчера служб содержит определение AssetFilterManager:

'service_manager' => array(
'factories' => array(
'AssetFilterManager' => 'AssetManager\Service\AssetFilterManagerFactory',
),
),

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

Моя цель — это подключаемое расширение менеджера сервисов, которое работает во многом как встроенные плагины контроллера Zend и просмотр помощников. Если есть кто-то с большим опытом использования этих функций, чем я, я был бы признателен за любое понимание.

0

Решение

Вы не можете настроить прослушиватель службы в config / module.config.php, service_listener_options является частью config / application.config.php. Эта конфигурация считывается перед инициализацией модулей.
Смотрите пример работы Вот.
Вы должны настроить прослушиватель службы в вашем Module.php

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]