Symfony2路由参数

时间:2015-07-10 10:30:38

标签: php symfony model-view-controller

我是symfony2和MVC的新手。我正在浏览Symfony的文档,我在关于路由的章节中。

我对注释感到困惑

/**
 * @Route("/blog/{slug}", name="blog_show")
 */
public function showAction($slug)
{
    // ...
}

据我所知,如果用户访问blog / xxx,则会调用showAction。我不明白为什么@Route中的逗号后面有name =“blog_show”。

有人可以说明我们使用它的原因吗?

1 个答案:

答案 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