This repository has been archived by the owner on Jan 8, 2020. It is now read-only.
Module manager event implementation improvements #660
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
THIS PR BREAKS BC! SEE BELOW.
Included in this PR:
ModuleResolverListener
which listens to 'loadModule.resolve'ConfigListener
can now be attached as an aggregate listenerDefaultListenerAggregate
added which aggregates default listeners (init, config, autoloader), and attaches the module autoloader to the 'loadModules.pre' event.BC breaks explained:
index.php
You need to update index.php for the API changes in the module manager / listeners. Here is an example updated
index.php
:application.config.php
In
application.config.php
, you will need to move the 'module_paths' array into the 'module_listener_options' array like this:In your modules:
Module.php
you attach to the 'init.post' event, you will need to change it to 'loadModules.post'.$e->getTarget()->getMergedConfig();
, you will need to change that to$e->getConfigListener()->getMergedConfig();
. If your 'loadModules.post' listener has a priority set which is > 9000, it will not have access to the config listener (nor the merged config).