Вопрос

In my application I have got a main controller in which I have a few methods. One of them checks if the user is logged in and if not it redirects the user to login form etc.

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

aand all controllers extend from this main class

IndexController extends FA_Controller_Auth{}

but now I am building multi payment gatwey from Zend_Payment_Controllerso Payment_GatewayController should extend from Zend_Payment_Controller. But I need to chack if the user is logged in or not and I am looking for somthing like multi extend

Payment_GatewayController extends Zend_Payment_Controller, FA_Controller_Auth

I know there is no way to use multi extend class in PHP but maybe there is a better way to do this, action helper or plugin to check authorisation ? Regards.

Regards.

Это было полезно?

Решение

You can only extend one class. This is exactly why using a base controller class is considered bad practice, as it limits you somewhat. Instead you should move the logic for both checks into controller plugins instead.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top