我是symfony2和MVC的新手。我正在浏览Symfony的文档,我在关于路由的章节中。
我对注释感到困惑
/**
* @Route("/blog/{slug}", name="blog_show")
*/
public function showAction($slug)
{
// ...
}
据我所知,如果用户访问blog / xxx,则会调用showAction。我不明白为什么@Route中的逗号后面有name =“blog_show”。
有人可以说明我们使用它的原因吗?
答案 0 :(得分:3)
只是此路线的别名
此名称是您必须从twig
中调用的名称<a href="{{ path('blog_show', {'slug': my-blog-post}) }}" ...
它将调用/ blog / my-blog-post
或者,如果您想重定向到此地址
return new RedirectResponse($this->generateUrl('blog_show'), array('slug' => 'my-blog-post'));
或生成网址
$url = $this->generateUrl('blog_show', array('slug' => 'my-blog-post'));
这里有文档
http://symfony.com/doc/current/book/controller.html#redirecting
http://symfony.com/doc/current/book/templating.html#linking-to-pages