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 Framework のすべてのオプションをサポートしていることを確認する必要があります。

問題は、なぜZend_Controller_Front自分のものに置き換える必要があるのか​​ということです。目的を達成するために、適切なオプションを設定したり、プラグインを作成したりできませんか?

于 2012-09-06T18:22:41.453 に答える