Класс EventManager
Менеджер событий отвечает за отслеживание слушателей событий, передачу корректных данных им и их вызов в правильном порядке, когда срабатывают связанные события. Вы можете создать несколько экземпляров этого объекта для управления локальными событиями или сохранить один экземпляр и передавать его для управления всеми событиями в вашем приложении.
Краткое описание свойств
- $_eventList protected
Cake\Event\EventList|nullОбъект списка событий.
- $_generalManager protected static
Cake\Event\EventManager|nullГлобально доступный экземпляр, используемый для отправки событий, прикрепленных из любого контекста
- $_isGlobal protected
boolВнутренний флаг для различения общего менеджера от синглтона
- $_listeners protected
arrayСписок обратных вызовов слушателей, связанных с
- $_trackEvents protected
boolВключает автоматическое добавление событий в объект списка событий, если он присутствует.
- $defaultPriority public static
intЗначение очереди по умолчанию для новых прикреплённых слушателей
Краткое описание методов
-
__debugInfo() public
Свойства объекта для отладки.
-
_attachSubscriber() protected
Вспомогательная функция для прикрепления всех реализованных обратных вызовов класса Cake\Event\EventListenerInterface к этому менеджеру как отдельных методов.
-
_callListener() protected
Вызов слушателя.
-
_detachSubscriber() protected
Вспомогательная функция для отсоединения всех слушателей, предоставленных объектом, реализующим EventListenerInterface.
-
_extractCallable() protected
Вспомогательная функция для извлечения и возврата типа PHP обратного вызова из определения вызова callable из возвращаемого значения метода
implementedEventsкласса Cake\Event\EventListenerInterface. -
addEventToList() public
Добавляет событие в список, если объект списка событий присутствует.
-
dispatch() public
Отправляет новое событие всем настроенным слушателям.
-
getEventList() public
Возвращает список событий.
-
instance() public static
Возвращает глобально доступный экземпляр Cake\Event\EventManager, используемый для отправки событий, прикреплённых вне области видимости, в которой создавались другие менеджеры. Обычно для создания систем хуков или межклассовой коммуникации.
-
isTrackingEvents() public
Возвращает, отслеживает ли этот менеджер события.
-
listeners() public
Возвращает список всех слушателей для eventKey в порядке их вызова.
-
matchingListeners() public
Возвращает слушателей, соответствующих заданному шаблону.
-
off() public
Удаляет слушателя из активных слушателей.
-
on() public
Добавляет нового слушателя к событию.
-
prioritisedListeners() public
Возвращает слушателей для указанного ключа события, индексированных по приоритету.
-
setEventList() public
Включает просмотр отправленных событий.
-
trackEvents() public
Включает/выключает отслеживание событий во время выполнения.
-
unsetEventList() public
Отключает просмотр отправленных событий.
Подробное описание методов
__debugInfo() public
__debugInfo(): array
Свойства объекта для отладки.
Возвращаемое значение
array_attachSubscriber() protected
_attachSubscriber(Cake\Event\EventListenerInterface $subscriber): void
Вспомогательная функция для подключения всех реализованных обратных вызовов экземпляра класса Cake\Event\EventListenerInterface как отдельных методов в этом менеджере
Параметры
-
Cake\Event\EventListenerInterface$subscriber Обработчик событий.
Возвращаемое значение
void_callListener() protected
_callListener(callable $listener, Cake\Event\EventInterface $event): mixed
Вызывает обработчик событий.
Параметры
-
callable$listener Обработчик событий для запуска.
-
Cake\Event\EventInterface$event Экземпляр события.
Возвращаемое значение
mixed_detachSubscriber() protected
_detachSubscriber(Cake\Event\EventListenerInterface $subscriber, string|null $eventKey = null): void
Вспомогательная функция для отключения всех обработчиков событий, предоставляемых объектом, реализующим EventListenerInterface
Параметры
-
Cake\Event\EventListenerInterface$subscriber обработчик для отключения
-
string|null$eventKey optional необязательное имя ключа события для отписки обработчика
Возвращаемое значение
void_extractCallable() protected
_extractCallable(array $function, Cake\Event\EventListenerInterface $object): array
Вспомогательная функция для извлечения и возврата типа вызова PHP из определения вызываемого объекта из возвращаемого значения метода implementedEvents класса Cake\Event\EventListenerInterface
Параметры
-
array$function массив, взятый из определения обработчика для события
-
Cake\Event\EventListenerInterface$object Объект обработчика
Возвращаемое значение
arrayaddEventToList() public
addEventToList(Cake\Event\EventInterface $event): $this
Добавляет событие в список, если объект списка событий присутствует.
Параметры
-
Cake\Event\EventInterface$event Событие для добавления в список.
Возвращаемое значение
$thisdispatch() public
dispatch(stringCake\Event\EventInterface $event): Cake\Event\EventInterface
Отправляет новое событие всем настроенным обработчикам событий
Параметры
-
stringCake\Event\EventInterface$event
Возвращаемое значение
Cake\Event\EventInterfacegetEventList() public
getEventList(): Cake\Event\EventList|null
Возвращает список событий.
Возвращаемое значение
Cake\Event\EventList|nullinstance() public static
instance(Cake\Event\EventManager|null $manager = null): Cake\Event\EventManager
Возвращает глобально доступный экземпляр Cake\Event\EventManager, используемый для отправки событий, подключенных вне области видимости других менеджеров. Обычно используется для создания систем крючков или межклассовой коммуникации
Если вызвано с первым параметром, он будет установлен как глобально доступный экземпляр
Параметры
-
Cake\Event\EventManager|null$manager optional Экземпляр менеджера событий.
Возвращаемое значение
Cake\Event\EventManagerisTrackingEvents() public
isTrackingEvents(): bool
Возвращает, настроен ли этот менеджер для отслеживания событий
Возвращаемое значение
boollisteners() public
listeners(string $eventKey): array
Возвращает список всех обработчиков событий для eventKey в порядке их вызова
Параметры
-
string$eventKey
Возвращаемое значение
arraymatchingListeners() public
matchingListeners(string $eventKeyPattern): array
Возвращает обработчики событий, соответствующие указанному шаблону
Параметры
-
string$eventKeyPattern Шаблон для сопоставления.
Возвращаемое значение
arrayoff() public
off(stringCake\Event\EventListenerInterface|callable $eventKey, Cake\Event\EventListenerInterface|callable|null $callable = null): $this
Удаляет обработчик из активных обработчиков.
Удалить EventListenerInterface полностью:
$manager->off($listener);
Удалить все обработчики для данного события:
$manager->off('My.event'); Удалить конкретного обработчика:
$manager->off('My.event', $callback); Удалить обратный вызов со всех событий:
$manager->off($callback);
Параметры
-
stringCake\Event\EventListenerInterface|callable$eventKey -
Cake\Event\EventListenerInterface|callable|null$callable optional
Возвращаемое значение
$thison() public
on(stringCake\Event\EventListenerInterface $eventKey, array|callable $options = [], callable|null $callable = null): $this
Добавляет нового обработчика событий.
Многопараметрический интерфейс для добавления обработчиков, имитирующий jQuery.on().
Связывание EventListenerInterface:
$eventManager->on($listener);
Связывание без опций:
$eventManager->on('Model.beforeSave', $callable); Связывание с опциями:
$eventManager->on('Model.beforeSave', ['priority' => 90], $callable); Параметры
-
stringCake\Event\EventListenerInterface$eventKey -
array|callable$options optional -
callable|null$callable optional
Возвращаемое значение
$thisprioritisedListeners() public
prioritisedListeners(string $eventKey): array
Возвращает обработчики событий для указанного ключа события, индексированные по приоритету
Параметры
-
string$eventKey Ключ события.
Возвращаемое значение
arraysetEventList() public
setEventList(Cake\Event\EventList $eventList): $this
Включает/выводит вывод списка обработанных событий.
Параметры
-
Cake\Event\EventList$eventList Объект списка событий для использования.
Возвращаемое значение
$thistrackEvents() public
trackEvents(bool $enabled): $this
Включает/выключает отслеживание событий во время выполнения.
Параметры
-
bool$enabled Истина или ложь для включения/выключения.
Возвращаемое значение
$thisunsetEventList() public
unsetEventList(): $this
Отключает вывод списка обработанных событий.
Возвращаемое значение
$thisПодробное описание свойств
$_eventList защищенное
Объект списка событий.
Тип
Cake\Event\EventList|null$_generalManager защищенное статическое
Глобально доступная инстанция, используемая для диспетчеризации событий, прикрепленных из любого контекста
Тип
Cake\Event\EventManager|null$_isGlobal защищенное
Внутренний флаг для различения общего менеджера от синглтона
Тип
bool$_listeners защищенное
Список колбэков обработчиков, связанных с
Тип
array$_trackEvents защищенное
Включает автоматическое добавление событий в объект списка событий, если он присутствует.
Тип
bool$defaultPriority публичное статическое
Значение очереди по умолчанию для приоритета новых прикрепленных обработчиков
Тип
int
© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.2/class-Cake.Event.EventManager.html