Alcune note sul bootstrapping dei moduli sotto ZF

Rate this post

Appunti presi dopo la lettura di questo post

In particolare: se ci sono delle funzionalità che devono essere chiamate solo a condizione che il modulo partecipa attivamente nella richiesta, allora conviene metterli all’interno dei plugin di front controller oppure dentro gli action helper.

Se si sceglie la prima strada, un posto buono potrebbe essere rappresentato dai hook routeShutdown() oppure dispatchLoopStartup(). Basta semplicemente verificare che il modulo dentro la richiesta corrisponde a quello su cui deve essere esguita l’azione richiesta.

[php]
class Foomodule_Plugin_Layout extends Zend_Controller_Plugin_Abstract
{
public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
{
if (‘foomodule’ != $request->getModuleName()) {
// If not in this module, return early
return;
}

// Change layout
Zend_Layout::getMvcInstance()->setLayout(‘foomodule’);
}
}
[/php]

[php]
class Foomodule_Boootstrap extends Zend_Application_Module_Bootstrap
{
protected function _initPlugins()
{
$bootstrap = $this->getApplication();
$bootstrap->bootstrap(‘frontcontroller’);
$front = $bootstrap->getResource(‘frontcontroller’);

$front->registerPlugin(new Foomodule_Plugin_Layout());
}
}
[/php]

You may also like...

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">