我使用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”导入)。
为什么?
答案 0 :(得分:2)
似乎只有缩进问题:新路线应该处于低位:
app:
resource: '@AppBundle/Controller/'
type: annotation
blog_list:
path: /blog/{page}
defaults: { _controller: AppBundle:Blog:list , page: 1}
requirements:
page: '\d+'
希望这个帮助