@@ -82,20 +82,53 @@ Controllers can also define a single action using the ``__invoke()`` method,
82
82
which is a common practice when following the `ADR pattern `_
83
83
(Action-Domain-Responder)::
84
84
85
- // src/AppBundle/Controller/Hello.php
86
- use Symfony\Component\HttpFoundation\Response;
87
- use Symfony\Component\Routing\Annotation\Route;
85
+ .. configuration-block ::
88
86
89
- /**
90
- * @Route("/hello/{name}", name="hello")
91
- */
92
- class Hello
93
- {
94
- public function __invoke($name = 'World')
87
+ .. code-block :: php-annotations
88
+
89
+ // src/AppBundle/Controller/Hello.php
90
+ use Symfony\Component\HttpFoundation\Response;
91
+ use Symfony\Component\Routing\Annotation\Route;
92
+
93
+ /**
94
+ * @Route("/hello/{name}", name="hello")
95
+ */
96
+ class Hello
95
97
{
96
- return new Response(sprintf('Hello %s!', $name));
98
+ public function __invoke($name = 'World')
99
+ {
100
+ return new Response(sprintf('Hello %s!', $name));
101
+ }
97
102
}
98
- }
103
+
104
+ .. code-block :: yaml
105
+
106
+ # app/config/routing.yml
107
+ hello :
108
+ path : /hello/{name}
109
+ defaults : { _controller: app.hello_controller }
110
+
111
+ .. code-block :: xml
112
+
113
+ <!-- app/config/routing.xml -->
114
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
115
+ <routes xmlns =" http://symfony.com/schema/routing"
116
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
117
+ xsi : schemaLocation =" http://symfony.com/schema/routing
118
+ https://symfony.com/schema/routing/routing-1.0.xsd" >
119
+
120
+ <route id =" hello" path =" /hello/{name}" >
121
+ <default key =" _controller" >app.hello_controller</default >
122
+ </route >
123
+
124
+ </routes >
125
+
126
+ .. code-block :: php
127
+
128
+ // app/config/routing.php
129
+ $collection->add('hello', new Route('/hello', [
130
+ '_controller' => 'app.hello_controller',
131
+ ]));
99
132
100
133
Alternatives to base Controller Methods
101
134
---------------------------------------
0 commit comments