From 2191ece0200dad5728d9931ddd5ffa52090a34a8 Mon Sep 17 00:00:00 2001 From: Richard Miller Date: Sun, 24 Feb 2013 15:31:45 +0000 Subject: [PATCH 1/2] Adding showing the base controller's urlGenerate method and a related note. --- book/routing.rst | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/book/routing.rst b/book/routing.rst index 7c5d0428795..833c80d03fd 100644 --- a/book/routing.rst +++ b/book/routing.rst @@ -1067,13 +1067,13 @@ a route+parameters back to a URL. The :method:`Symfony\\Component\\Routing\\Router::generate` methods form this bi-directional system. Take the ``blog_show`` example route from earlier:: - $params = $router->match('/blog/my-blog-post'); + $params = $this->('router')->match('/blog/my-blog-post'); // array( // 'slug' => 'my-blog-post', // '_controller' => 'AcmeBlogBundle:Blog:show', // ) - $uri = $router->generate('blog_show', array('slug' => 'my-blog-post')); + $uri = $this->('router')->generate('blog_show', array('slug' => 'my-blog-post')); // /blog/my-blog-post 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:: { // ... - $url = $this->get('router')->generate( + $url = $this->generateUrl( 'blog_show', array('slug' => 'my-blog-post') ); } } +.. note:: + + In controllers extending from the base + :class:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller`, + you can use the + :method:`Symfony\\Bundle\\FrameworkBundle\\Controller\\Controller::generateUrl` + method which call's the router service's + :method:`Symfony\\Component\\Routing\\Router::generate` method. + In an upcoming section, you'll learn how to generate URLs from inside templates. .. tip:: From e1133d15221b952b10b3c8b57f3e5f2f7e574283 Mon Sep 17 00:00:00 2001 From: Richard Miller Date: Sun, 24 Feb 2013 21:36:04 +0000 Subject: [PATCH 2/2] Adding missing method --- book/routing.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/book/routing.rst b/book/routing.rst index 833c80d03fd..d4c053b70e8 100644 --- a/book/routing.rst +++ b/book/routing.rst @@ -1067,13 +1067,13 @@ a route+parameters back to a URL. The :method:`Symfony\\Component\\Routing\\Router::generate` methods form this bi-directional system. Take the ``blog_show`` example route from earlier:: - $params = $this->('router')->match('/blog/my-blog-post'); + $params = $this->get('router')->match('/blog/my-blog-post'); // array( // 'slug' => 'my-blog-post', // '_controller' => 'AcmeBlogBundle:Blog:show', // ) - $uri = $this->('router')->generate('blog_show', array('slug' => 'my-blog-post')); + $uri = $this->get('router')->generate('blog_show', array('slug' => 'my-blog-post')); // /blog/my-blog-post To generate a URL, you need to specify the name of the route (e.g. ``blog_show``)