2015-07-10 4 views
2

Я новичок в symfony2 и MVC в целом. Я просматриваю документацию для Symfony, и я нахожусь в главе о маршрутизации.Symfony2 Параметры маршрутизации

Я путаюсь с аннотацией

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

Я понимаю, что если пользователь посещает блог/ххх, то showAction будет называться. Я не понимаю, почему после запятой в @Route появляется имя = "blog_show".

Не могли бы вы объяснить, почему мы его используем?

+0

Пожалуйста, примите его действительным, если вы думаете, что было полезно :) –

ответ

2

это всего лишь псевдоним для этого маршрута

Это имя является тот, который вы должны вызвать, например, из прут

<a href="{{ path('blog_show', {'slug': my-blog-post}) }}" ... 

Он призовет/блог/мой-блог-пост

Или, если вы хотите перенаправить на этот адрес

return new RedirectResponse($this->generateUrl('blog_show'), array('slug' => 'my-blog-post')); 

Или генерировать URL

$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

+1

Круто, спасибо, что кажется, имеет смысл. Я не могу проверить это сейчас, но, кажется, правильно сужу по документам. Я буду отмечать его как действительный. – Developer1

Смежные вопросы