2012-12-02 2 views
1

나는 Symfony의 초보자이며, 현재 프로젝트를 그 것으로 바꾸려고합니다.Symfony 일부 논리 전에 컨트롤러

대부분의 컨트롤러에서 컨트롤러를 실행하기 전에 몇 가지 검사를해야합니다. 그런 다음 특정 조건이 수표에 충족되면 전달하고 다른보기를 표시합니다. 그렇지 않으면 요청한대로 계속 진행합니다.

예를 들어 사용자가 승무원 인 경우에만 실행해야하는 컨트롤러 그룹이 있습니다. 그렇지 않으면 "승무원이 아닙니다"라는보기가로드됩니다.

이것은 절차적인 코드에서 매우 솔직합니다. 그러나 OOP에서는 더 복잡한 것처럼 보이고 이제는 프레임 워크 내에서 훨씬 제한적으로 보입니다.

컨트롤러가 실행되기 전에 어떻게 논리를 추가합니까?

+0

참조 http://stackoverflow.com/questions/13429788/before-action-method-in-symfony2 –

+0

단지 고려 시작하려면 컨트롤러에 점검 사항을 추가하십시오. S2에 조금 더 익숙해지면 TheSmose가 제안한대로 필터에 들어갑니다. – Cerad

답변

1

필터 전 로직을 설정하려고합니다. 여기에 글을 쓸 수있는 간단한 내용이 아닙니다.하지만 여기에 좋은 지침서가 있습니다. 당신이 그것으로 특정 문제가있는 경우, 여기에 게시 내가 도움으로 업데이트 할 수 있습니다 : http://symfony.com/doc/2.0/cookbook/event_dispatcher/before_after_filters.html

+0

안녕하세요, 전 필터를 사용하려고하는데, "새로운 AccessDeniedHttpException ('이 작업은 유효한 토큰이 필요합니다!)'이 나오면 symfony_error_log에서"catch되지 않은 예외 "대신에 500 오류가 발생합니다. 나는 또한 "새로운 토큰을 던졌습니다 ('이 액션은 유효한 토큰이 필요합니다!');", 똑같은 일이 발생합니다. 이유는 무엇인지 알 수 있습니까? 감사합니다. – user2810081

+0

Symfony 요리 책을 기반으로 번들을 만들었습니다. 코드 책을 직접 코딩하지 않아도됩니다. https://github.com/expertcoder/before-after-bundle 번들에 대한 피드백을 권유합니다. 감사. – Sam