从未导入注释"@Route"

M.B*_*ada 9 routing symfony

我是一名学生,我在symfony和stackoverflow非常新,如果我犯了一些错误,那就很抱歉.

我尝试访问该页面时出现以下错误:

[语义错误]从未导入方法AppBundle\Controller\FormController :: newAction()中的注释"@Route".您是否忘记为此注释添加"使用"语句?in/home/buddy/Bachelor/RealBachelor/src/AppBundle/Controller /(正在从"/home/buddy/Bachelor/RealBachelor/app/config/routing.yml"导入).确保已启用注释.

这是我的控制器:

<?php

namespace AppBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;

class SuccessController extends Controller
{
    /**
     * @Route("/success", name="success")
     */
    public function indexAction(Request $request)
    {


        $id = "yeah success!!";

        return $this->render('default/index.html.twig', [
            'id' => $id,
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我不知道是否需要,但这是我的路由配置文件:

 # bin/config/routing.yml
fos_user:
    resource: "@FOSUserBundle/Resources/config/routing/all.xml"

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

小智 10

你需要检查这个文件:

AppBundle\Controller\FormController.php
Run Code Online (Sandbox Code Playgroud)

看来你没有添加命名空间:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
Run Code Online (Sandbox Code Playgroud)

请检查一下.

  • 在较新的Symfony版本中,请改用`Symfony \ Component \ Routing \ Annotation \ Route`。 (3认同)

geo*_*eoB 0

你的类应该是这样的:

/**
 * @Route("/success", name="success")
 */
class SuccessController extends Controller
{

    public function indexAction(Request $request)
    {


        $id = "yeah success!!";

        return $this->render('default/index.html.twig', [
                'id' => $id,
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)