Класс 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 из определения обратного вызова из возвращаемого значения метода
implementedEvents()в {@link \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<string, mixed>
Свойства объекта, удобные для отладки.
Возвращает
array<string, mixed>_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() объекта {@link \Cake\Event\EventListenerInterface}.
Параметры
-
array$function массив, взятый из определения обработчика для события
-
Cake\Event\EventListenerInterface$object Объект обработчика
Возвращает
arrayaddEventToList() public
addEventToList(Cake\Event\EventInterface $event): $this
Добавляет событие в список, если объект списка событий присутствует.
Параметры
-
Cake\Event\EventInterface$event Событие для добавления в список.
Возвращает
$thisdispatch() public
dispatch(Cake\Event\EventInterface|string $event): Cake\Event\EventInterface
Отправляет новое событие всем настроенным обработчикам.
Параметры
-
Cake\Event\EventInterface|string$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(Cake\Event\EventListenerInterface|callable|string $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);
Параметры
-
Cake\Event\EventListenerInterface|callable|string$eventKey -
Cake\Event\EventListenerInterface|callable|null$callable optional
Возвращает
$thison() public
on(Cake\Event\EventListenerInterface|string $eventKey, callable|array $options = [], callable|null $callable = null): $this
Добавляет нового обработчика события.
Многопараметрический интерфейс для добавления обработчиков, эмулирующий jQuery.on().
Связывание EventListenerInterface:
$eventManager->on($listener);
Связывание без опций:
$eventManager->on('Model.beforeSave', $callable); Связывание с опциями:
$eventManager->on('Model.beforeSave', ['priority' => 90], $callable); Параметры
-
Cake\Event\EventListenerInterface|string$eventKey -
callable|array$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.3/class-Cake.Event.EventManager.html