2017-11-13 7 views
-4

나는 Yii restfull 응용 프로그램을 작성하고 있습니다. ActiveControllerinit() 메서드를 덮어 쓰면 입력을 관리 할 수있었습니다. 하지만 모든 컨트롤러의 모든 동작을 암호화하여 불행히도 어떻게 할 수 있는지 잘 모르겠다 ...!Yii2 - 모든 작업에 대한 출력을 암호화합니다.

아무도 도와 드릴 수 있습니까? ...?

답변

1

컨트롤러를 실행하기 전후에 작업 이벤트를 사용하여 데이터를 수정할 수 있습니다. EVENT_AFTER_ACTION 이벤트를 무시하고 생성 된 출력을 얻고 원하는 알고리즘으로 암호화하십시오.

그런 다음 컨트롤러의 모든 동작을 암호화하여 출력합니다. 여기

이 Yii2 이벤트에 대한 좋은 참고입니다 : 공공 기능 afterAction ($ 액션, $ 결과)`에서

Yii2 events documentation

Yii2 events API guide

+0

{ $는 = 부모 :: afterAction ($ 조치 결과 , $ result); return $ this-> encrypt ($ result); }'메소드'$ result'도 json 모드가 아니며 마지막 단계는 아닙니다! –

+0

@MasoudNazari 답변에 제공된 설명서 및 API 안내서를 읽으십시오. 유스 케이스에서 트리거되는 이벤트 찾기, 재정의하면 결과를 얻을 수 있습니다. – sobbe