0

複数のルートをデフォルト コントローラにマップしようとしましたが、期待どおりに動作していないようです。

コントローラーで注釈を使用しています:

/**
 * @Route("/", name="index_controller");
 * @Template("SeoSlinkyBundle:Default:index.html.twig");
 */
 public indexAction() {}

しかし、私はこれをしたい:

/**
 * @Route("/", name="index_controller");
 * @Route("/{timeoption}", name="index_controller");
 * @Template("SeoSlinkyBundle:Default:index.html.twig");
 */
 public indexAction($timeoption = "today") {
   echo $today;
   exit;
 }

それは実際に機能します。

http://myapp/hello

コントローラーは「こんにちは」とエコーします

しかし、私が行くなら

http://myapp/

コントローラーは「今日」をエコーする必要があります

しかし、代わりに次のエラーが発生します。

リソース「/usr/share/www/myapp/src/MyAppBundle/Controller/」を「/usr/share/www/myapp/app/config/routing.yml」からインポートできません。

これらは routing.yml の内容です

my_app:
    resource: "@MyAppBundle/Controller/"
    type:     annotation
    prefix:   /
imag_ldap:
    resource: "@IMAGLdapBundle/Resources/config/routing.yml"

どんな助けでも大歓迎です!

4

1 に答える 1

2

私の推測では、間違っている同じ名前のルートが 2 つあるためです。

試してみてください :

/**
 * @Route("/", name="index_controller");
 * @Route("/{timeoption}", name="index_controller_timeoption");
 * @Template("SeoSlinkyBundle:Default:index.html.twig");
 */
 public indexAction($timeoption = "today") 
 {
     echo $today;
     exit;
 }
于 2013-08-28T14:54:17.423 に答える