【问题标题】:Zend Framework - How do to preDispatch for all controllers?Zend Framework - 如何为所有控制器预调度?
【发布时间】:2010-10-16 12:48:14
【问题描述】:

我无法加载这个插件我该如何加载这个?

我有 IndexController.php 和 OthersController.php。对于所有这些控制器,为了拥有 1 个单一的 preDispatch 方法,我编写了一个插件,如下所示。请您指导我,我现在如何将它与所有其他控制器连接???

@file: application/controllers/GlobalControllerPlugin.php

GlobalControllerPlugin 类扩展 Zend_Controller_Plugin_Abstract { 公共函数 preDispatch() { $this->view->helloworld = '(来自 preDispatch)--->(控制器)--->(视图)--->yesGreat)'; } }

【问题讨论】:

    标签: php zend-framework


    【解决方案1】:

    您必须将插件添加(注册)到前端控制器。

    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" 
    

    确保您正确配置了自动加载器以加载您使用的命名空间。

    【讨论】:

      猜你喜欢
      • 2013-01-21
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多