You can test the request from within your plugin: public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) { if ('admin' != $this->_request->getModuleName()) { return; }
// Perform pluginy things here } -- Hector On Wed, Dec 16, 2009 at 2:18 PM, Guillaume ORIOL <gor...@technema.fr> wrote: > Thank you Matthew but I don't understand your last remark. > > Let's say I have two modules, each of which has its own plugin registered > at bootstrap: > class Default_Bootstrap extends Zend_Application_Module_Bootstrap > { > public function _initPlugin() > { > $plugin = new Plugin_Foo(); > $front = Zend_Controller_Front::getInstance(); > $front->registerPlugin($plugin); > } > } > > class Admin_Bootstrap extends Zend_Application_Module_Bootstrap > { > public function _initPlugin() > { > $plugin = new Admin_Plugin_Bar(); > $front = Zend_Controller_Front::getInstance(); > $front->registerPlugin($plugin); > } > } > > If I perform a request on the default module, both plugins are executed. > According to your last remark, I thought only one plugin should have bee > executed. > -- > Guillaume > > Le 16/12/09 21:54, Matthew Weier O'Phinney a écrit : > > -- Guillaume ORIOL<gor...@technema.fr> wrote >> (on Wednesday, 16 December 2009, 09:33 PM +0100): >> >> >>> I wonder why, in a modular application, all module bootstraps are >>> executed during initialization and not only the one corresponding to >>> the matched module? >>> >>> What would be the way to get only one of them executed (I would like >>> to connect a different plugin to each module)? >>> >>> >> All module bootstraps are executed... because at bootstrap time, the >> requested module is not yet known. (It happens during _routing_.) >> >> Module bootstraps should be used for: >> >> * Setting up autoloading of module resources (happens already, >> automatically) >> >> * Performing any module-specific tasks that need to happen on every >> request >> >> * Registering module-specific plugins >> >> This latter area is where you should execute code that should only be >> executed if the module is the one requested. >> >> > > >