Php 配置Zend Framework 2 AbstractPluginManager
我花了一点时间试图跟踪ZF2代码和文档,但似乎找不到一个解释,说明如何在Zend\Service\AbstractPluginManager实例已注册为服务侦听器的服务管理器时,使用全局配置来扩展配置 我创建的类的概述: AssetManager\AssetFilterPluginManager:扩展AbstractPluginManager AssetManager\Service\AssetFilterManager工厂:一个扩展Zend\Mvc\Service\AbstractPluginManager工厂的工厂,其const PLUGIN\u MANAGER\u类设置为AssetManager\AssetFilterManager工厂 AssetManager\AssetFilterProviderInterface:模块功能接口 在config/module.config.php中,我将服务侦听器配置如下:Php 配置Zend Framework 2 AbstractPluginManager,php,zend-framework,zend-framework2,inversion-of-control,Php,Zend Framework,Zend Framework2,Inversion Of Control,我花了一点时间试图跟踪ZF2代码和文档,但似乎找不到一个解释,说明如何在Zend\Service\AbstractPluginManager实例已注册为服务侦听器的服务管理器时,使用全局配置来扩展配置 我创建的类的概述: AssetManager\AssetFilterPluginManager:扩展AbstractPluginManager AssetManager\Service\AssetFilterManager工厂:一个扩展Zend\Mvc\Service\AbstractPlugin
'service_listener_options' => array(
array(
'service_manager' => 'AssetFilterManager',
'config_key' => 'asset_filters',
'interface' => 'AssetManager\AssetFilterProviderInterface',
'method' => 'getAssetFilterConfig',
),
),
服务管理器配置包含AssetFilterManager的定义:
在阅读了view helpers代码中这些选项的用法之后,这是我对配置布局的理解。查看服务侦听器选项中的config_key选项,似乎应该将配置传递给插件管理器来配置服务,但我无法确定在何处或是否会发生这种情况。也许我误解了实现
我的目标是一个可插入的服务管理器扩展,它的功能非常类似于Zend的内置控制器插件和视图帮助器管理器。如果有人比我更有使用这些功能的经验,我将非常感谢您的帮助 您不能在config/module.config.php中配置服务侦听器,服务侦听器选项是config/application.config.php的一部分。此配置在模块初始化之前读取。 参见工作示例。 必须在Module.php中配置服务侦听器
'service_manager' => array(
'factories' => array(
'AssetFilterManager' => 'AssetManager\Service\AssetFilterManagerFactory',
),
),