2010-10-16 23 views
1

我無法加載這個插件我如何加載這個?Zend Framework - 如何對所有控制器進行preDispatch?

我有IndexController.php,我有OthersController.php。對於所有這些控制器,要有1個單獨的preDispatch方法,我寫了一個插件如下。你能請親切指導我,我現在可以如何將這與所有其他控制器?

@file:應用/控制器/ GlobalControllerPlugin.php

 
class GlobalControllerPlugin extends Zend_Controller_Plugin_Abstract 
{ 

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

    } 

} 

回答

5

必須添加(寄存器)的插件前端控制器。

無論是在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; 
} 

application.ini

resources.frontController.plugins.global = "Global_Controller_Plugin_Common" 

確認,您配置自動加載正確加載您使用的命名空間。

相關問題