2010-10-16 5 views
1

Je ne peux pas charger ce plugin comment puis-je charger cela?Zend Framework - Comment faire pour preDispatch pour tous les contrôleurs?

J'ai IndexController.php et j'ai OthersController.php. Pour tous ces contrôleurs, pour avoir une seule méthode preDispatch j'ai écrit un plugin comme suit. Pouvez-vous s'il vous plaît me guider gentiment, comment je peux maintenant joindre cela avec tous les autres contrôleurs ???

@file: application/contrôleurs/GlobalControllerPlugin.php

 
class GlobalControllerPlugin extends Zend_Controller_Plugin_Abstract 
{ 

    public function preDispatch() 
    { 
    $this->view->helloworld = 
      '(from preDispatch)--->(controllers)--->(views)--->yesGreat)'; 

    } 

} 

Répondre

5

Vous devez ajouter (enregistrer) le plug-in au contrôleur avant.

Soit dans le Bootstrap.php,

public function _initGlobalPlugin() { 

    $this->bootstrap('frontController'); 

    // require_once 'GlobalControllerPlugin.php'; 
    $plugin = new GlobalControllerPlugin(); 

    $front = Zend_Controller_Front::getInstance(); 
    $front->registerPlugin($plugin); 

    return $plugin; 
} 

ou dans le application.ini:

resources.frontController.plugins.global = "Global_Controller_Plugin_Common" 

Assurez-vous autoloader, vous avez configuré correctement pour charger l'espace de noms que vous utilisez.

Questions connexes