从未导入注释“@Route”

时间:2017-11-09 17:10:39

标签: symfony routing

我是一名学生,我是symfony和stackoverflow的新手,如果我犯了一些错误,那就很抱歉。

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

  

[语义错误]方法中的注释“@Route”   从未导入AppBundle \ Controller \ FormController :: newAction()。   您是否忘记为此注释添加“使用”语句?在   / 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,
        ]);
    }
}

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

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

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

3 个答案:

答案 0 :(得分:8)

您需要检查此文件:

AppBundle\Controller\FormController.php

您似乎没有添加命名空间:

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;

请检查。

答案 1 :(得分: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,
        ]);
    }
}

答案 2 :(得分:0)

我遇到了一个与您一样的问题,以及一个新下载的带有作曲家和symfony 3.4的项目中的问题。直到我注释掉routing.yml文件,它才开始,然后我顺利启动了项目。 我附上它的外观:

app/config/routing.yml

#app:
#    resource: '@AppBundle/Controller/'
#    type: annotation

保存更改,然后启动服务器,它应该可以正常工作!

致谢!