0

私のアプリケーションには、いくつかのメソッドを持つメインコントローラーがあります。それらの1つは、ユーザーがログインしているかどうかを確認し、ログインしていない場合はユーザーをログインフォームなどにリダイレクトします.

class FA_Controller_Auth extends Zend_Controller_Action {
  public function preDispatch() {
   //chceck user is login
  }
}

そして、すべてのコントローラはこのメイン クラスから拡張されます

IndexController extends FA_Controller_Auth{}

しかし今、私は Zend_Payment_Controller からマルチペイメントゲートウェイを構築しているので、Payment_GatewayController は Zend_Payment_Controller から拡張する必要があります。しかし、ユーザーがログインしているかどうかをチェックする必要があり、マルチエクステンドのようなものを探しています

Payment_GatewayController extends Zend_Payment_Controller, FA_Controller_Auth

PHPでマルチエクステンドクラスを使用する方法がないことは知っていますが、これを行うためのより良い方法、アクションヘルパーまたはプラグインで認証を確認する方法はありますか? よろしく。

よろしく。

4

1 に答える 1

1

拡張できるクラスは 1 つだけです。これがまさに、ベース コントローラー クラスの使用が悪い習慣と見なされる理由です。代わりに、両方のチェックのロジックをコントローラ プラグインに移動する必要があります。

于 2013-08-20T16:58:51.190 に答える