необязательные параметры в маршрутах, определенные с помощью аннотаций - PullRequest
26 голосов
/ 08 августа 2011

Есть ли более элегантный способ определить необязательные параметры в аннотированных маршрутах, чем определять 2 аннотации?

Вот как я это сделал:

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

я видел, что аннотацияВ классе есть поле с именем «по умолчанию», но я не уверен в синтаксисе

thx

1 Ответ

45 голосов
/ 09 августа 2011

У Symfony есть страница на @ Route :

Например, вы можете попробовать.

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

Если null не работает, попробуйте пустую строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...