49 lines
1.8 KiB
49 lines
1.8 KiB
<?php
|
|
|
|
/*
|
|
* This file is part of the Symfony package.
|
|
*
|
|
* (c) Fabien Potencier <fabien@symfony.com>
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
namespace Symfony\Component\EventDispatcher;
|
|
|
|
/**
|
|
* An EventSubscriber knows itself what events it is interested in.
|
|
* If an EventSubscriber is added to an EventDispatcherInterface, the manager invokes
|
|
* {@link getSubscribedEvents} and registers the subscriber as a listener for all
|
|
* returned events.
|
|
*
|
|
* @author Guilherme Blanco <guilhermeblanco@hotmail.com>
|
|
* @author Jonathan Wage <jonwage@gmail.com>
|
|
* @author Roman Borschel <roman@code-factory.org>
|
|
* @author Bernhard Schussek <bschussek@gmail.com>
|
|
*/
|
|
interface EventSubscriberInterface
|
|
{
|
|
/**
|
|
* Returns an array of event names this subscriber wants to listen to.
|
|
*
|
|
* The array keys are event names and the value can be:
|
|
*
|
|
* * The method name to call (priority defaults to 0)
|
|
* * An array composed of the method name to call and the priority
|
|
* * An array of arrays composed of the method names to call and respective
|
|
* priorities, or 0 if unset
|
|
*
|
|
* For instance:
|
|
*
|
|
* * ['eventName' => 'methodName']
|
|
* * ['eventName' => ['methodName', $priority]]
|
|
* * ['eventName' => [['methodName1', $priority], ['methodName2']]]
|
|
*
|
|
* The code must not depend on runtime state as it will only be called at compile time.
|
|
* All logic depending on runtime state must be put into the individual methods handling the events.
|
|
*
|
|
* @return array<string, string|array{0: string, 1: int}|list<array{0: string, 1?: int}>>
|
|
*/
|
|
public static function getSubscribedEvents();
|
|
}
|
|
|