2011-03-22 1 views
3

모든 컨트롤러 방법 필터를 (해야한다)입니다 해당 클래스는 프레임 워크가 포함 방법이 당신이, 내가 알고 싶은 몇 가지 클래스를 지정할 수 있습니다? 어떻게 이러한 클래스는 구성 때, 어쩌면 누군가가 필터를()를 사용하여 몇 가지 클래스를 포함하여이 방법을 나에게 패턴을 제공 할 수있다?YII 컨트롤러 필터() 메소드 패턴

답변

8

컨트롤러 필터 CFilter 클래스로부터 파생한다. documentation example에서 볼 수 있듯이

,이 같은 컨트롤러의 내부를 구성합니다 라인에서

public function filters() 
    { 
     return array(
      'postOnly + edit, create', 
      array(
       'application.filters.PerformanceFilter - edit, create', // 1 
       'unit'=>'second',          // 2 
       'amount'=>42,           // 3 
      ), 
     ); 
    } 

1 당신이 가상 클래스 PerformanceFilter에 대한 경로를 제공 표시; Yii는 다른 구성 요소로이를로드합니다. 라인에서

는 속성을 초기화 3 2을 표시합니다. 원하는 수의 키/값 쌍으로 계속 진행할 수 있습니다. 필터의 속성을 해당 이름으로 설정하는 데 모두 익숙해집니다.