В моем приложении у меня есть главный контроллер, в котором у меня есть несколько методов. Один из них проверяет, если пользователь вошел в систему, и если не перенаправляет пользователя войти в форму и т.д.Контроллер Zend простирается от двух классов
class FA_Controller_Auth extends Zend_Controller_Action {
public function preDispatch() {
//chceck user is login
}
}
а и все контроллеры простираются от этого основного класса
IndexController extends FA_Controller_Auth{}
но теперь я строю мульти платеж gatwey из Zend_Payment_Controllerso Payment_GatewayController должен распространяться от Zend_Payment_Controller. Но мне нужно Chack, если пользователь вошел в систему или нет, и я ищу Somthing как несколько расширить
Payment_GatewayController extends Zend_Payment_Controller, FA_Controller_Auth
Я знаю, что нет никакого способа, чтобы использовать несколько расширить класс в PHP, но может быть, есть лучший способ сделать это, помощник действий или плагин для проверки авторизации? С уважением.
С уважением.
спасибо большое, что было очень полезно! Но контроллер плагин запускается для каждого контроллера и действия, но некоторые действия не должны быть проверены на наличие разрешения, так что я должен сделать это отключена проверка авторизации для этого действия: класс 'SilverCms_Controller_Plugin_Auth расширяет Zend_Controller_Plugin_Abstract { общественная функция dispatchLoopStartup (Zend_Controller_Request_Abstract $ oRequest) { $ sAction = strtolower ($ oRequest-> getActionName()); if ($ sAction === 'confirmEmail') { return; }} ' Возможно, есть лучший способ сделать это? –
Нет, как вы это делаете, это лучший способ. –
хорошо, спасибо за помощь! –