Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

module manager listeners order #81

Open
Baft opened this issue Dec 27, 2017 · 1 comment
Open

module manager listeners order #81

Baft opened this issue Dec 27, 2017 · 1 comment

Comments

@Baft
Copy link

Baft commented Dec 27, 2017

i was installed two module moduleA and moduleB

application.config.php :
'modules' => array (
				'moduleA',
				'moduleB',
		),

when i try to override a service of moduleA serviceA from moduleB serviceB , it was unsuccessful .

moduleA:

module.conf.php:
       service_manager=>[ ... 'serviceA' => 'serviceAFactory' ... ]

module.php:
      onBootstrap(){ ... $serviceManager->get('serviceA') ... }
moduleB:

module.php:
      getServiceConfig(){ return ... [ ... 'serviceA' => 'serviceBFactory' ... ] ;}

Code to reproduce the issue

because module listeners called in this order

https://framework.zend.com/manual/2.4/en/modules/zend.module-manager.module-manager.html
. . .
Zend\ModuleManager\Listener\ConfigListener
Zend\ModuleManager\Listener\InitTrigger
Zend\ModuleManager\Listener\LocatorRegistrationListener
Zend\ModuleManager\Listener\ModuleResolverListener
Zend\ModuleManager\Listener\OnBootstrapListener
Zend\ModuleManager\Listener\ServiceListener
. . .

its means moduleB can not override a service by providing moduleB->getServiceConfig()
on bootstrapEvent and have to define service in moduleB->getConfig() to be able override a service from moduleA ,before it call on bootstrap().
actually service manager configured in tow separated place that is not get same result.

Expected results

is it not better to call Zend\ModuleManager\Listener\ServiceListener after Zend\ModuleManager\Listener\ConfigListener to be usable in Bootstrap !?

@weierophinney
Copy link
Member

This repository has been closed and moved to laminas/laminas-modulemanager; a new issue has been opened at laminas/laminas-modulemanager#2.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants