1: <?php
2:
3: /*
4: * This file is part of the Symfony package.
5: *
6: * (c) Fabien Potencier <fabien@symfony.com>
7: *
8: * For the full copyright and license information, please view the LICENSE
9: * file that was distributed with this source code.
10: */
11:
12: namespace Symfony\Component\EventDispatcher;
13:
14: /**
15: * An EventSubscriber knows himself what events he is interested in.
16: * If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes
17: * {@link getSubscribedEvents} and registers the subscriber as a listener for all
18: * returned events.
19: *
20: * @author Guilherme Blanco <guilhermeblanco@hotmail.com>
21: * @author Jonathan Wage <jonwage@gmail.com>
22: * @author Roman Borschel <roman@code-factory.org>
23: * @author Bernhard Schussek <bschussek@gmail.com>
24: *
25: * @api
26: */
27: interface EventSubscriberInterface
28: {
29: /**
30: * Returns an array of event names this subscriber wants to listen to.
31: *
32: * The array keys are event names and the value can be:
33: *
34: * * The method name to call (priority defaults to 0)
35: * * An array composed of the method name to call and the priority
36: * * An array of arrays composed of the method names to call and respective
37: * priorities, or 0 if unset
38: *
39: * For instance:
40: *
41: * * array('eventName' => 'methodName')
42: * * array('eventName' => array('methodName', $priority))
43: * * array('eventName' => array(array('methodName1', $priority), array('methodName2'))
44: *
45: * @return array The event names to listen to
46: *
47: * @api
48: */
49: public static function getSubscribedEvents();
50: }
51: