2010-08-03 10 views
0

컨트롤러에 대한 유효성 검사/오류 처리와 관련하여 Symfony 문서를 읽었습니다.symfony (PHP)에서 액션 확인하기

http://www.symfony-project.org/book/1_2/06-Inside-the-Controller-Layer

검증 및 오류 처리 방법을 (그냥 삼분의이 아래로) 나는 자동으로 호출되는 함수의 생각처럼

- executeMyAction 전에 validateMyAction이라고합니다, 당신은 어떤 유형을 제어 할 수 있습니다 예를 들어 myActionSucess 또는 myActionError가 사용됩니다.

그러나 Symfony 1.4에서는 작동하지 않는 것으로 보입니다.이 유형의 오류 처리/유효성 검사가 더 이상 권장되지 않으므로 Symfony 1.4에서 어떻게해야하는지 잘 모르겠습니다.

나는 실행 전후 함수가 비슷한 것을 알고 있지만 각각의 동작을 위해 전용 검증 함수를 갖는 것을 선호합니다.

아니면 필터를 사용해야합니까?

답변

0
public function preExecute() 
    { 
    $method = 'validate'.$this->getActionName(); 
    if (method_exists($this, $method)) 
    { 
     if (!$this->{$method}()) 
     { 
     return sfView::ERROR; 
     } 
    } 
    } 

뭔가 이런 어떤 도움/조언을

덕분에 각 작업에 대한 검증 기능을 모방 할 수있다. 그러나 다음 질문은 오류를 표시하는 가장 좋은 방법은 무엇입니까? validate 함수에서 오류 배열을 설정 한 다음 템플릿/뷰에서 오류 배열이 설정되어 있는지 확인한 다음 관련 정보를 표시하는 것과 같은 것입니다. 이것은 경고/통지를 위해 확장 될 수 있습니다.

0

그런 종류의 검증은 심포니 1.0과 1.1에서 작동했지만, 1.4에서 제거 된 이후 1.2에서 삭제되었습니다. 훨씬 더 많은 것을 제공하는 폼 프레임 워크로 대체되었습니다. 나는 symfony 서적에 대한 부드러운 소개의 Chapter 10 (Forms)을 읽는 것이 좋습니다. A dedicated book for the form framework도 존재하지만 불완전합니다. 기존 위젯과 유효성 검사기에 대한 좋은 참조입니다.

관련 문제