ContainerAwareEventDispatcher
class ContainerAwareEventDispatcher extends EventDispatcher
Лениво загружает слушателей и подписчиков из контейнера инъекции зависимостей.
Методы
| Event | dispatch(string $eventName, Event $event = null) Распространяет событие всем зарегистрированным слушателям. | from EventDispatcher |
| array | getListeners(string $eventName = null) Получает слушателей конкретного события или всех слушателей, отсортированных по убыванию приоритета. | |
| bool | hasListeners(string $eventName = null) Проверяет, имеет ли событие зарегистрированных слушателей. | |
| addListener(string $eventName, callable $listener, int $priority) Добавляет слушателя события, который прослушивает указанные события. | from EventDispatcher | |
| removeListener(string $eventName, callable $listener) Удаляет слушателя события из указанных событий. | ||
| addSubscriber(EventSubscriberInterface $subscriber) Добавляет подписчика события. | from EventDispatcher | |
| removeSubscriber(EventSubscriberInterface $subscriber) | from EventDispatcher | |
| __construct(ContainerInterface $container) | ||
| addListenerService(string $eventName, array $callback, int $priority) Добавляет сервис в качестве слушателя события. | ||
| addSubscriberService(string $serviceId, string $class) Добавляет сервис в качестве подписчика события. | ||
| getContainer() |
Детали
Event dispatch(string $eventName, Event $event = null)
Распространяет событие всем зарегистрированным слушателям.
Параметры
| string | $eventName | Имя события для распространения. Имя события — это имя метода, вызываемого у слушателей. |
| Event | $event | событие, передаваемое обработчикам/слушателям. Если не указано, создается пустой экземпляр события. |
Значение результата
| Event |
array getListeners(string $eventName = null)
Получает слушателей конкретного события или всех слушателей, отсортированных по убыванию приоритета.
Параметры
| string | $eventName | Имя события |
Значение результата
| array | Слушатели события для указанного события или все слушатели событий по имени события |
bool hasListeners(string $eventName = null)
Проверяет, имеет ли событие зарегистрированных слушателей.
Параметры
| string | $eventName | Имя события |
Значение результата
| bool | true, если указанное событие имеет слушателей, в противном случае false |
addListener(string $eventName, callable $listener, int $priority)
Добавляет слушателя события, который прослушивает указанные события.
Параметры
| string | $eventName | Событие для прослушивания |
| callable | $listener | Слушатель |
| int | $priority | Чем выше это значение, тем раньше слушатель события будет срабатывать в цепочке (по умолчанию 0) |
removeListener(string $eventName, callable $listener)
Удаляет слушателя события из указанных событий.
Параметры
| string | $eventName | Событие, из которого нужно удалить слушателя |
| callable | $listener | Слушатель для удаления |
addSubscriber(EventSubscriberInterface $subscriber)
Добавляет подписчика события.
Подписчику задаются все события, которые его интересуют, и добавляется как слушатель для этих событий.
Параметры
| EventSubscriberInterface | $subscriber |
removeSubscriber(EventSubscriberInterface $subscriber)
Параметры
| EventSubscriberInterface | $subscriber |
__construct(ContainerInterface $container)
Параметры
| ContainerInterface | $container |
addListenerService(string $eventName, array $callback, int $priority)
Добавляет сервис в качестве слушателя события.
Параметры
| string | $eventName | Событие, для которого добавляется слушатель |
| array | $callback | Идентификатор сервиса слушателя и имя метода, который нужно вызвать |
| int | $priority | Чем выше это значение, тем раньше слушатель события будет срабатывать в цепочке. По умолчанию 0. |
Исключения
| InvalidArgumentException |
addSubscriberService(string $serviceId, string $class)
Добавляет сервис в качестве подписчика события.
Параметры
| string | $serviceId | Идентификатор сервиса подписчика |
| string | $class | Имя класса сервиса (который должен реализовывать EventSubscriberInterface) |
getContainer()
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/2.7/Symfony/Component/EventDispatcher/ContainerAwareEventDispatcher.html