@@ -23,8 +23,8 @@ Creating an Event Listener
23
23
24
24
The most common way to listen to an event is to register an **event listener **::
25
25
26
- // src/AppBundle/Listener /ExceptionListener.php
27
- namespace AppBundle\Listener ;
26
+ // src/AppBundle/EventListener /ExceptionListener.php
27
+ namespace AppBundle\EventListener ;
28
28
29
29
use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent;
30
30
use Symfony\Component\HttpFoundation\Response;
@@ -76,23 +76,33 @@ using a special "tag":
76
76
77
77
# app/config/services.yml
78
78
services :
79
- kernel.listener.your_listener_name :
80
- class : AppBundle\Listener \ExceptionListener
79
+ app.exception_listener :
80
+ class : AppBundle\EventListener \ExceptionListener
81
81
tags :
82
82
- { name: kernel.event_listener, event: kernel.exception }
83
83
84
84
.. code-block :: xml
85
85
86
86
<!-- app/config/services.xml -->
87
- <service id =" kernel.listener.your_listener_name" class =" AppBundle\Listener\ExceptionListener" >
88
- <tag name =" kernel.event_listener" event =" kernel.exception" />
89
- </service >
87
+ <?xml version =" 1.0" encoding =" UTF-8" ?>
88
+ <container xmlns =" http://symfony.com/schema/dic/services"
89
+ xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance"
90
+ xsi : schemaLocation =" http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd" >
91
+
92
+ <services >
93
+ <service id =" app.exception_listener"
94
+ class =" AppBundle\EventListener\ExceptionListener" >
95
+
96
+ <tag name =" kernel.event_listener" event =" kernel.exception" />
97
+ </service >
98
+ </services >
99
+ </container >
90
100
91
101
.. code-block :: php
92
102
93
103
// app/config/services.php
94
104
$container
95
- ->register('kernel.listener.your_listener_name ', 'AppBundle\Listener \ExceptionListener')
105
+ ->register('app.exception_listener ', 'AppBundle\EventListener \ExceptionListener')
96
106
->addTag('kernel.event_listener', array('event' => 'kernel.exception'))
97
107
;
98
108
@@ -126,8 +136,8 @@ about event subscribers, read :doc:`/components/event_dispatcher/introduction`.
126
136
The following example shows an event subscriber that defines several methods which
127
137
listen to the same ``kernel.exception `` event::
128
138
129
- // src/AppBundle/Subscriber /ExceptionSubscriber.php
130
- namespace AppBundle\Subscriber ;
139
+ // src/AppBundle/EventSubscriber /ExceptionSubscriber.php
140
+ namespace AppBundle\EventSubscriber ;
131
141
132
142
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
133
143
use Symfony\Component\HttpFoundation\Response;
@@ -164,8 +174,8 @@ listen to the same ``kernel.exception`` event::
164
174
}
165
175
}
166
176
167
- Now, you just need to register the class as a service and notify Symfony that it
168
- is an event subscriber:
177
+ Now, you just need to register the class as a service and add the
178
+ `` kernel.event_subscriber `` tag to tell Symfony that this is an event subscriber:
169
179
170
180
.. configuration-block ::
171
181
@@ -174,7 +184,7 @@ is an event subscriber:
174
184
# app/config/services.yml
175
185
services :
176
186
app.exception_subscriber :
177
- class : AppBundle\Subscriber \ExceptionSubscriber
187
+ class : AppBundle\EventSubscriber \ExceptionSubscriber
178
188
tags :
179
189
- { name: kernel.event_subscriber }
180
190
@@ -188,7 +198,7 @@ is an event subscriber:
188
198
189
199
<services >
190
200
<service id =" app.exception_subscriber"
191
- class =" AppBundle\Subscriber \ExceptionSubscriber" >
201
+ class =" AppBundle\EventSubscriber \ExceptionSubscriber" >
192
202
193
203
<tag name =" kernel.event_subscriber" />
194
204
</service >
@@ -201,7 +211,7 @@ is an event subscriber:
201
211
$container
202
212
->register(
203
213
'app.exception_subscriber',
204
- 'AppBundle\Subscriber \ExceptionSubscriber'
214
+ 'AppBundle\EventSubscriber \ExceptionSubscriber'
205
215
)
206
216
->addTag('kernel.event_subscriber')
207
217
;
@@ -214,8 +224,8 @@ sub-requests), which is why when working with the ``KernelEvents::REQUEST``
214
224
event, you might need to check the type of the request. This can be easily
215
225
done as follow::
216
226
217
- // src/AppBundle/Listener /RequestListener.php
218
- namespace AppBundle\Listener ;
227
+ // src/AppBundle/EventListener /RequestListener.php
228
+ namespace AppBundle\EventListener ;
219
229
220
230
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
221
231
use Symfony\Component\HttpKernel\HttpKernel;
0 commit comments