【问题标题】:Routing is not work in Symfony 3.2路由在 Symfony 3.2 中不起作用
【发布时间】:2017-05-16 09:45:48
【问题描述】:

我使用来自docs 的示例。 这是 routing.yml

   app:
    resource: '@AppBundle/Controller/'
    type: annotation
    blog_list:
        path:      /blog/{page}
        defaults:  { _controller: AppBundle:Blog:list , page: 1}
        requirements:
            page: '\d+'

还有这个控制器:

<?php
    namespace AppBundle\Controller;

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

    class BlogController extends Controller
    {
        /**
         * @Route("/blog/{page}", name="blog_list", requirements={"page": "\d+"})
         */
        public function listAction($page = 1)
        {
            $number = mt_rand(0, 100);
            return $this->render('lucky/number.html.twig',['number'=>$number]);
        }
    }

我看到错误:

路由文件“/var/www/pars/app/config/routing.yml”包含“app”不受支持的键:“blog_list”。预期之一:/var 中的“资源”、“类型”、“前缀”、“路径”、“主机”、“方案”、“方法”、“默认值”、“要求”、“选项”、“条件” /www/pars/app/config/routing.yml(从“/var/www/pars/app/config/routing_dev.yml”导入)。

为什么?

【问题讨论】:

    标签: php symfony symfony-routing


    【解决方案1】:

    似乎只是一个缩进问题:新路由应该是低级的:

    app:
        resource: '@AppBundle/Controller/'
        type: annotation
    
    blog_list:
        path:      /blog/{page}
        defaults:  { _controller: AppBundle:Blog:list , page: 1}
        requirements:
            page: '\d+'
    

    希望有帮助

    【讨论】:

      猜你喜欢
      • 2012-03-10
      • 2018-08-18
      • 1970-01-01
      • 2019-10-06
      • 1970-01-01
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      相关资源
      最近更新 更多