Download the PHP package mepihindeveloper/php-event-dispatcher without Composer
On this page you can find all versions of the php package mepihindeveloper/php-event-dispatcher. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mepihindeveloper/php-event-dispatcher
More information about mepihindeveloper/php-event-dispatcher
Files in mepihindeveloper/php-event-dispatcher
Package php-event-dispatcher
Short Description Component for working with events
License MIT
Informations about the package php-event-dispatcher
php-event-dispatcher
Компонент для работы с событиями и слушателями
Структура
В директории interfaces
хранятся необходимые интерфейсы, которые необходимо имплементировать в при реализации
собственного класса Listener
. Класс Listener
выступает в качестве слушателя события и должен реализовать метод
process
. В директории exceptions
хранятся необходимые исключения. Исключение EventNotFoundException
необходимо
для идентификации ошибки поиска события (когда событие не было найдено), аналогично и для ListenerNotFoundException
.
Класс Event
реализует само событие. Собственные события должны наследоваться от класса Event
.
Класс EventDispatcher
реализует диспетчер событий, который работает через ListenerProvider
, выступая посредником.
Класс ListenerProvider
реализует поставщика слушателей, где происходят все операции со слушателями и событиями.
Примерная реализация событий и слушателей:
Доступные методы
Event
Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
---|---|---|---|---|
stopPropagation | void | Останавливает работу (распространение) события | ||
isPropagationStopped | bool | См. Psr\EventDispatcher\StoppableEventInterface |
EventDispatcher
Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
---|---|---|---|---|
__construct(ListenerProviderInterface $listenerProvider | Провайдер слушателей событий | void | ||
dispatch(object $event) | Объект события | bool | EventNotFoundException | Отправляет событие слушателям |
getListenerProvider | ListenerProviderInterface | Получает провайдера слушателей событий |
ListenerProvider
Метод | Аргументы | Возвращаемые данные | Исключения | Описание |
---|---|---|---|---|
addListenerForEventType(ListenerInterface $listener, string $eventType = self::DEFAULT_EVENT_TYPE) | $listener - Слушатель; $eventType - Тип события | ListenerProvider | Добавляет слушателя | |
removeListenerFromEventType(ListenerInterface $listener, string $eventType = self::DEFAULT_EVENT_TYPE) | $listener - Слушатель; $eventType - Тип события | ListenerProvider | EventNotFoundException; ListenerNotFoundException | Удаляет слушателя события |
hasListenerInEventType(ListenerInterface $listener, string $eventType = self::DEFAULT_EVENT_TYPE) | $listener - Слушатель; $eventType - Тип события | bool | EventNotFoundException | Проверяет наличие слушателя в событии |
hasEventType(string $eventType = self::DEFAULT_EVENT_TYPE) | Тип события | bool | Проверяет наличие типа события | |
removeListenersForEventType(string $eventType = self::DEFAULT_EVENT_TYPE) | Тип события | ListenerProvider | EventNotFoundException | Удаляет слушателей события |
removeListeners | ListenerProvider | Удаляет всех слушателей всех событий | ||
getListenersForEvent(object $event) | См. Psr\EventDispatcher\ListenerProviderInterface | iterable | EventNotFoundException | См. Psr\EventDispatcher\ListenerProviderInterface |
getListenersForEventType(string $eventType) | Тип события | array | EventNotFoundException | Получает слушателей события |
getListeners | array | Получает всех слушателей всех событий |
Контакты
Вы можете связаться со мной в социальной сети ВКонтакте: ВКонтакте: Максим Епихин
Если удобно писать на почту, то можете воспользоваться этим адресом: [email protected]
Мой канал на YouTube, который посвящен разработке веб и игровых проектов: YouTube: Максим Епихин
Поддержать меня можно переводом на Яндекс.Деньги: Денежный перевод