0

我确实需要更改 Zend_Controller_Front 并使用 My_Controller_Front,但我无法弄清楚......我做了这个:

在 My_Controller_Front

    /**
     * Set singleton instance
     */
    public static function setInstance($instance = null) {
        self::$_instance = $instance;
    }

在我的引导下

protected function _replaceZendController() {
    Busca_Controller_Front::setInstance(Busca_Controller_Front::getInstance());

    return $this;
}
4

1 回答 1

0

通过查看代码,我认为Zend_Application除了Zend_Controller_Front.

当您运行 Zend_Application 时,会发生以下事情:

  • Zend_Application::bootstrap()运行
  • 引导过程创建Zend_Application_Bootstrap_Bootstrap设置资源加载器然后加载FrontController资源
  • Frontcontroller 资源被硬编码以加载Zend_Controller_Front(请参阅参考资料Zend/Application/Resource/Frontcontroller::getFrontController()

您可能能够更改此行为的唯一方法是注册您自己的资源加载器,它可以拦截FrontController加载您的前端控制器而不是 Zend 前端控制器的资源的加载。当然,您必须确保您的前端控制器支持 Zend 框架支持的所有选项。

那么问题来了,为什么要换成Zend_Controller_Front自己的呢?您不能设置适当的选项或创建插件来实现您的目标吗?

于 2012-09-06T18:22:41.453 回答