2011-08-08 8 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) 
{ 
    ... 
} 

私は、アノテーションクラスは、「デフォルト」という名前のフィールドを持っていますが、構文

THX

答えて

42

symfonyのわから静かなわけではないことを見てきました@Routeのページがあります。

多分お試しください。

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

nullが機能しない場合は、空の文字列を試してください。

+0

とにかく、情報を見つける場所を知ることだけです。私は束の参照を調べる前に決して見たことがありません。 thx – room13

+5

私は同じことを尋ねるつもりでした。しかし、ヌルまたは空の文字列のデフォルトが複数ある場合、/ 1/en /// 1234/23のようなパスが作成され、Symfonyは一致するルートがないと不平を言います。 – Hades

関連する問題