|
4 | 4 | How to Pass Extra Information from a Route to a Controller
|
5 | 5 | ==========================================================
|
6 | 6 |
|
7 |
| -Parameters inside the ``defaults`` collection don't necessarily have to |
8 |
| -match a placeholder in the route ``path``. In fact, you can use the |
9 |
| -``defaults`` array to specify extra parameters that will then be accessible as |
10 |
| -arguments to your controller, and as attributes of the ``Request`` object: |
| 7 | +Parameters inside the ``defaults`` collection don't necessarily have to match |
| 8 | +a placeholder in the route ``path``. In fact, you can use the ``defaults`` |
| 9 | +array to specify extra parameters that will then be accessible as arguments |
| 10 | +to your controller, and as attributes of the ``Request`` object: |
11 | 11 |
|
12 | 12 | .. configuration-block::
|
13 | 13 |
|
@@ -52,25 +52,25 @@ arguments to your controller, and as attributes of the ``Request`` object:
|
52 | 52 |
|
53 | 53 | return $collection;
|
54 | 54 |
|
55 |
| -Now, you can access this extra parameter in your controller, as an argument to the controller method:: |
| 55 | +Now, you can access this extra parameter in your controller, as an argument |
| 56 | +to the controller method:: |
56 | 57 |
|
57 |
| - use Symfony\Component\HttpFoundation\Request; |
58 |
| - |
59 | 58 | public function indexAction($page, $title)
|
60 | 59 | {
|
61 | 60 | // ...
|
62 | 61 | }
|
63 | 62 |
|
64 |
| -Alternately, the title could be accessed through the ``Request`` object:: |
| 63 | +Alternatively, the title could be accessed through the ``Request`` object:: |
65 | 64 |
|
66 | 65 | use Symfony\Component\HttpFoundation\Request;
|
67 | 66 |
|
68 | 67 | public function indexAction(Request $request, $page)
|
69 | 68 | {
|
70 |
| - // ... |
71 | 69 | $title = $request->attributes->get('title');
|
| 70 | + |
72 | 71 | // ...
|
73 | 72 | }
|
74 | 73 |
|
75 |
| -As you can see, the ``$title`` variable was never defined inside the route path, |
76 |
| -but you can still access its value from inside your controller, through the method's argument, or from the ``Request`` object's ``attributes`` bag. |
| 74 | +As you can see, the ``$title`` variable was never defined inside the route |
| 75 | +path, but you can still access its value from inside your controller, through |
| 76 | +the method's argument, or from the ``Request`` object's ``attributes`` bag. |
0 commit comments