phpoopzend-frameworkzend-controller

Zend controller extends from two class


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.


Solution

  • 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.