zendframework / zend-i18n

I18n component from Zend Framework
BSD 3-Clause "New" or "Revised" License
65 stars 49 forks source link

Add Module::init to register the TranslatorPluginManager with the ServiceListener #41

Closed weierophinney closed 8 years ago

weierophinney commented 8 years ago

We need to register the TranslatorPluginManager with the ServiceListener, to allow modules and application configuration to provide additional plugin configuration.

Since the ServiceListener is configured before modules are loaded, options for configuring it are limited. Adding delegator factories is out of the question, as that would require altering the application default services configuration, which is non-trivial.

While this approach is slightly brittle — if any modules are registered prior to it that have translator plugin configuration, that configuration will be ignored — the goal is to have components registered before modules, which has some reasonable certainty of ensuring that the init() is called before any configuration is provided.