제 애플리케이션에는 몇 가지 방법이있는 메인 컨트롤러가 있습니다. 그 중 하나는 사용자가 로그인 한 경우 확인하고 사용자를 리디렉션하지 않을 경우 양식을 로그인 등Zend 컨트롤러는 두 클래스에서 확장됩니다.
class FA_Controller_Auth extends Zend_Controller_Action {
public function preDispatch() {
//chceck user is login
}
}
aand가 모든 컨트롤러는이 기본 클래스에서 확장
IndexController extends FA_Controller_Auth{}
하지만 지금은 멀티 건물입니다 Zend_Payment_Controllerso Payment_GatewayController의 지불 게이트웨이는 Zend_Payment_Controller에서 확장되어야합니다. 하지만 사용자가 로그인하거나하지 않은 경우 chack 필요 및 다중 나는 PHP에서 클래스를 확장 멀티 사용하는 방법이 없습니다 알고 있지만 어쩌면 더 나은 방식이있다
Payment_GatewayController extends Zend_Payment_Controller, FA_Controller_Auth
을 연장처럼 내가 뭔가를해야만 찾고 있어요 승인을 확인하기 위해 조치 도우미 또는 플러그인을 수행 하시겠습니까? 감사합니다.
감사합니다.
덕분에 매우 유용했습니다. 그러나 컨트롤러 플러그인은 모든 컨트롤러와 액션을 실행하지만, 그래서 그것을이 작업에 사용할 권한 부여 검사입니다해야 할 몇 가지 작업은 권한 부여를 검사 할 필요가 없습니다 : '클래스 SilverCms_Controller_Plugin_Auth이 Zend_Controller_Plugin_Abstract { 공공 기능 dispatchLoopStartup (Zend_Controller_Request_Abstract 확장 $ oRequest) { $ sAction = strtolower ($ oRequest-> getActionName()); if ($ sAction === 'confirmEmail') { return; }}' 어쩌면 더 좋은 방법이 있을까요? –
아니, 당신이하는 방법이 최선의 방법입니다. –
확인해 주셔서 감사합니다. –