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

Lor*_*aef 0 php routes symfony

我的申请中有一个神秘的案例No route found。我在控制器中使用注释。我的app/config/routing.yml看起来像这样:

app:
    resource: "@AppBundle/Controller/"
    type:     annotation
Run Code Online (Sandbox Code Playgroud)

所有路线都工作得很好,但现在我创建了一个新控制器,但它找不到它的路线。

<?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');
    }
  }
?>
Run Code Online (Sandbox Code Playgroud)

如果我访问该网址,它会显示No route found for "GET /export". 另外如果我这样做router:debug在控制台中执行此操作,则不会列出该路线。我清过缓存好几次了,还是没用。

也许我只是忘记了一个愚蠢的小细节,但我现在真的陷入困境,所以任何提示都很感激。

Dmi*_*nko 5

您在注释块中又缺少一个星号。这样,就不会被FrameworkExtraBundle解析

所以你需要

/**
 * @Route("/")
 */
Run Code Online (Sandbox Code Playgroud)

代替

/*
 * @Route("/")
 */
Run Code Online (Sandbox Code Playgroud)