2011-08-08 4 views
25

주석이 달린 경로에 선택적 매개 변수를 정의한 다음 2 개의 주석을 정의하는보다 우아한 방법이 있습니까? 여기주석을 통해 정의 된 경로의 선택적 매개 변수

는 어떻게 내가 해냈어 : 내가 주석 클래스 "디폴트"라는 이름의 필드가 가지고있는 본 적이

/** 
* 
* @Route("/view/{lang}/{file}", name="legacy_translation_view_file") 
* @Route("/view/{lang}", name="legacy_translation_view") 
* @Template() 
*/ 
public function viewAction($lang,$file=null) 
{ 
    ... 
} 

하지만 구문 확실 조용히 있지 않다

들으

답변

42

심포니 @Route :

예 아마도 시도 할 수 있습니다.

/** 
* @Route("/{id}/{lang}/{file}", requirements={"id" = "\d+"}, defaults={"file" = null}) 
*/ 
public function showAction($id, $lang, $file) 
{ 
} 

null이 작동하지 않으면 빈 문자열을 사용해보십시오.

+0

항상 어디서 정보를 찾을 수 있는지에 대한 문제입니다. 나는 번들 참조를 들여다 보지 못했다. thx – room13

+5

나는 똑같은 것을 물어 보려고했다. 그러나 null이나 빈 문자열 기본값이 여러 개인 경우/1/en /// 1234/23과 같은 경로를 만들고 Symfony는 일치하는 경로가 없다고 불평한다. – Hades

관련 문제