シンプルなケース。私のすべてのアプリではrouting.yml、次のように定義された Route アノテーション ドライバーを使用しています。
MyBundle:
    resource: "@MyBundle/Controller/"
    type:     annotation
    prefix:   /someprefix
MyBundle の Ctrl コントローラーのアクションは次のようになります。
@Route("/{page}/{status}", name="default_action", defaults={"page" = 1, "status" = "ok"}, requirements={"page" = "\d+"})
public function defaultAction($page, $status) {...}
ここで、このアクションを作成したいと思います-私のWebページにアクセスしたときのデフォルトアクション。@Route("/")プレフィックスだから使えない。だから私はに追加していrouting.ymlます:
_welcome:
    pattern:  /
    defaults: { _controller: MyBundle:Ctrl:default }
そして、問題が始まる場所があります - Symfony2 はアノテーションからではなくアクションからだけデフォルトのコントローラーアクションを呼び出しており、エラーが発生します:
Controller "...:defaultAction()" requires that you provide a value for the "$page" argument (because there is no default value or because there is a non optional argument after this one).
したがって、単純に Symfony2 は @Route アノテーションからデフォルト値を取得していません。
質問: _welcome@Route を認識しているルートを呼び出す方法は?