@@ -1067,13 +1067,13 @@ a route+parameters back to a URL. The
1067
1067
:method: `Symfony\\ Component\\ Routing\\ Router::generate ` methods form this bi-directional
1068
1068
system. Take the ``blog_show `` example route from earlier::
1069
1069
1070
- $params = $router->match('/blog/my-blog-post');
1070
+ $params = $this->get(' router') ->match('/blog/my-blog-post');
1071
1071
// array(
1072
1072
// 'slug' => 'my-blog-post',
1073
1073
// '_controller' => 'AcmeBlogBundle:Blog:show',
1074
1074
// )
1075
1075
1076
- $uri = $router->generate('blog_show', array('slug' => 'my-blog-post'));
1076
+ $uri = $this->get(' router') ->generate('blog_show', array('slug' => 'my-blog-post'));
1077
1077
// /blog/my-blog-post
1078
1078
1079
1079
To generate a URL, you need to specify the name of the route (e.g. ``blog_show ``)
@@ -1086,13 +1086,22 @@ that route. With this information, any URL can easily be generated::
1086
1086
{
1087
1087
// ...
1088
1088
1089
- $url = $this->get('router')->generate (
1089
+ $url = $this->generateUrl (
1090
1090
'blog_show',
1091
1091
array('slug' => 'my-blog-post')
1092
1092
);
1093
1093
}
1094
1094
}
1095
1095
1096
+ .. note ::
1097
+
1098
+ In controllers extending from the base
1099
+ :class: `Symfony\\ Bundle\\ FrameworkBundle\\ Controller\\ Controller `,
1100
+ you can use the
1101
+ :method: `Symfony\\ Bundle\\ FrameworkBundle\\ Controller\\ Controller::generateUrl `
1102
+ method which call's the router service's
1103
+ :method: `Symfony\\ Component\\ Routing\\ Router::generate ` method.
1104
+
1096
1105
In an upcoming section, you'll learn how to generate URLs from inside templates.
1097
1106
1098
1107
.. tip ::
0 commit comments