douyang5943 2015-09-23 10:31
浏览 146
已采纳

Symfony:在新控制器中找不到路由

I have a misterious case of No route found in my application. I use annotations in my controllers. My app/config/routing.yml looks like this:

app:
    resource: "@AppBundle/Controller/"
    type:     annotation

All routes work perfectly fine, but now I created a new controller and it doesn't find its routes.

<?php
  namespace AppBundle\Controller;

  use Symfony\Component\HttpFoundation\Request;
  use Symfony\Bundle\FrameworkBundle\Controller\Controller;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
  use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;

  /**
   * Export controller.
   * @Route("/export")
   */
  class ExportController extends Controller{
    /*
     * @Route("/")
     */
    public function showExportPage(Request $request)
    {
        return $this->render('AppBundle:export.html.twig');
    }
  }
?>

If I visit the url it says No route found for "GET /export". Also if I do router:debug in the console, the route doesn't get listed. I have cleared the cache several times, it doesn't help.

Probably I just forgot a stupid little detail, but I am really stuck right now, so any hints are appreciated.

  • 写回答

1条回答 默认 最新

  • dpoppu4300 2015-09-23 11:05
    关注

    You lack one more asterisk in an annotation block. Like this, it is not parsed by FrameworkExtraBundle

    So you need

    /**
     * @Route("/")
     */
    

    instead of

    /*
     * @Route("/")
     */
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?