Класс EventManager
Менеджер событий отвечает за отслеживание обработчиков событий, передачу правильных данных им и их вызов в правильном порядке при срабатывании связанных событий. Вы можете создавать несколько экземпляров этого объекта для управления локальными событиями или сохранить один экземпляр и передавать его для управления всеми событиями в вашем приложении.
- Cake\Event\EventManager реализует Cake\Event\EventManagerInterface
Краткое описание свойств
-
$_eventListprotectedОбъект списка событий.Cake\Event\EventList|null - Глобально доступный экземпляр, используемый для отправки событий, прикреплённых из любого контекста.
-
$_isGlobalprotectedВнутренний флаг для различения общего менеджера от синглтона.boolean -
$_listenersprotectedСписок обработчиков обратных вызовов, связанных сarray -
$_trackEventsprotectedВключает автоматическое добавление событий в объект списка событий, если он присутствует.boolean - Значение очереди приоритетов по умолчанию для новых, прикреплённых обработчиков.
integer
Краткое описание методов
- __debugInfo() publicСвойства объекта для удобства отладки.
- _attachSubscriber() protected
Вспомогательная функция для присоединения всех реализованных обратных вызовов экземпляра класса Cake\Event\EventListenerInterface в качестве отдельных методов к этому менеджеру.
- _callListener() protectedВызов обработчика.
- _detachSubscriber() protectedВспомогательная функция для отделения всех обработчиков, предоставленных объектом, реализующим EventListenerInterface.
- _extractCallable() protected
Вспомогательная функция для извлечения и возврата типа PHP обратного вызова из определения вызова, полученного в результате работы метода
implementedEventsдля Cake\Event\EventListenerInterface. - addEventToList() publicДобавляет событие в список, если объект списка событий присутствует.
- Добавляет нового обработчика события.
- Удаляет обработчик из активных обработчиков.
- dispatch() publicОтправляет новое событие всем настроенным обработчикам.
- getEventList() publicВозвращает список событий.
-
Возвращает глобально доступный экземпляр Cake\Event\EventManager, используемый для отправки событий, прикреплённых вне области видимости, в которой были созданы другие менеджеры. Обычно используется для создания систем хуков или межклассовой коммуникации.
- isTrackingEvents() publicВозвращает, отслеживает ли этот менеджер события.
- listeners() publicВозвращает список всех обработчиков для eventKey в порядке их вызова.
- matchingListeners() publicВозвращает обработчики, соответствующие указанному шаблону.
- off() publicУдаляет обработчик из активных обработчиков.
- on() publicДобавляет нового обработчика события.
- prioritisedListeners() publicВозвращает обработчики для указанного ключа события, индексированные по приоритету.
- setEventList() publicВключает просмотр отправленных событий.
- trackEvents() publicВключает/отключает отслеживание событий во время выполнения.
- unsetEventList() publicОтключает просмотр отправленных событий.
Подробное описание методов
_attachSubscriber()source protected
_attachSubscriber( Cake\Event\EventListenerInterface $subscriber )
Вспомогательная функция для присоединения всех реализованных обратных вызовов экземпляра класса Cake\Event\EventListenerInterface в качестве отдельных методов к этому менеджеру.
Параметры
-
Cake\Event\EventListenerInterface$subscriber - Обработчик событий.
_callListener()source protected
_callListener( callable $listener , Cake\Event\Event $event )
Вызов обработчика.
Параметры
- callable
$listener - Обработчик, который нужно запустить.
-
Cake\Event\Event$event - Экземпляр события.
Возвращает
mixedРезультат работы функции $listener.
_detachSubscriber()source protected
_detachSubscriber( Cake\Event\EventListenerInterface $subscriber , string|null $eventKey = null )
Вспомогательная функция для отделения всех обработчиков, предоставленных объектом, реализующим EventListenerInterface
Параметры
-
Cake\Event\EventListenerInterface$subscriber - обработчик, который нужно отсоединить
- string|null
$eventKeyoptional null - необязательный ключ события для отмены подписки обработчика
_extractCallable()source protected
_extractCallable( array $function , Cake\Event\EventListenerInterface $object )
Вспомогательная функция для извлечения и возврата типа PHP обратного вызова из определения вызова, полученного в результате работы метода implementedEvents для Cake\Event\EventListenerInterface.
Параметры
- array
$function - массив, взятый из определения обработчика для события
-
Cake\Event\EventListenerInterface$object - объект обработчика
Возвращает
callableaddEventToList()source public
addEventToList( Cake\Event\Event $event )
Добавляет событие в список, если объект списка событий присутствует.
Параметры
-
Cake\Event\Event$event - Событие, которое нужно добавить в список.
Возвращает
$this
attach()source public deprecated
attach( callable|Cake\Event\EventListenerInterface $callable , string|null $eventKey = null , array $options = [] )
Добавляет нового слушателя к событию.
Устарело
3.0.0 Используйте on() вместо этого.Параметры
- callable|
Cake\Event\EventListenerInterface$callable Подходящий для PHP вызов или экземпляр Cake\Event\EventListenerInterface, который будет вызван, когда будет сгенерировано событие с именем $eventKey. Если передан экземпляр Cake\Event\EventListenerInterface, то метод
implementedEventsбудет вызван на объекте для регистрации объявленных событий индивидуально как методы для управления этим классом. Можно определить несколько обработчиков событий для одного имени события.- string|null
$eventKeyнеобязательно null Уникальное идентификаторное имя события, с которым будет связан вызов. Если $callable — экземпляр Cake\Event\EventListenerInterface, этот аргумент будет проигнорирован.
- array
$optionsнеобязательно [] используется для установки флага
priorityслушателя. В будущем могут быть добавлены другие параметры. Приоритеты обрабатываются как очереди. Меньшие значения вызываются перед большими, а несколько добавлений с одинаковым приоритетом будут обработаны в порядке вставки.
Исключения
InvalidArgumentExceptionКогда отсутствует имя события или вызов не является экземпляром Cake\Event\EventListenerInterface.
detach()source public deprecated
detach( callable|Cake\Event\EventListenerInterface $callable , string|null $eventKey = null )
Удаляет слушателя из активных слушателей.
Устарело
3.0.0 Используйте off() вместо этого.Параметры
- callable|
Cake\Event\EventListenerInterface$callable - любой допустимый тип PHP-обработчика или экземпляр EventListenerInterface
- string|null
$eventKeyнеобязательно null - Уникальное идентификаторное имя события, с которым был связан обработчик
dispatch()source public
dispatch( string|Cake\Event\EventInterface $event )
Отправляет новое событие всем настроенным слушателям
Параметры
- string|
Cake\Event\EventInterface$event - Имя ключа события или экземпляр EventInterface.
Возвращает
Cake\Event\EventInterfaceРеализация
Cake\Event\EventManagerInterface::dispatch() getEventList()source public
getEventList( )
Возвращает список событий.
Возвращает
Cake\Event\EventListinstance()source public static
instance( Cake\Event\EventManager|null $manager = null )
Возвращает глобально доступный экземпляр Cake\Event\EventManager, используемый для отправки событий, прикрепленных за пределами области видимости других менеджеров. Обычно для создания систем хуков или межклассовой связи
Если вызван с первым параметром, он будет установлен как глобально доступный экземпляр
Параметры
-
Cake\Event\EventManager|null$managerнеобязательно null - Экземпляр менеджера событий.
Возвращает
Cake\Event\EventManagerГлобальный менеджер событий
isTrackingEvents()source public
isTrackingEvents( )
Возвращает, настроен ли этот менеджер на отслеживание событий
Возвращает
booleanlisteners()source public
listeners( string $eventKey )
Возвращает список всех слушателей для eventKey в порядке их вызова
Параметры
- string
$eventKey - Ключ события.
Возвращает
arrayРеализация
Cake\Event\EventManagerInterface::listeners() matchingListeners()source public
matchingListeners( string $eventKeyPattern )
Возвращает слушателей, соответствующих заданному шаблону
Параметры
- string
$eventKeyPattern - Шаблон для соответствия.
Возвращает
arrayoff()source public
off( string|Cake\Event\EventListenerInterface $eventKey , callable|null $callable = null )
Удаляет слушателя из активных слушателей.
Параметры
- string|
Cake\Event\EventListenerInterface$eventKey Уникальное идентификаторное имя события, с которым был связан обработчик, или сам $listener, который нужно удалить.
- callable|null
$callableнеобязательно null - Обработчик, который нужно отключить.
Возвращает
$this
Реализация
Cake\Event\EventManagerInterface::off() on()source public
on( string|Cake\Event\EventListenerInterface|null $eventKey = null , array|callable $options = [] , callable|null $callable = null )
Добавляет нового слушателя к событию.
Параметры
- string|
Cake\Event\EventListenerInterface|null$eventKeyнеобязательно null Уникальное идентификаторное имя события, с которым будет связан обработчик. Если $eventKey — экземпляр Cake\Event\EventListenerInterface, его события будут связаны с использованием методов
implementedEvents.- array|callable
$optionsнеобязательно [] Либо массив опций, либо вызов, который нужно привязать к $eventKey. Если массив опций, ключ
priorityможно использовать для определения порядка. Приоритеты обрабатываются как очереди. Меньшие значения вызываются перед большими, а несколько добавлений с одинаковым приоритетом будут обработаны в порядке вставки.- callable|null
$callableнеобязательно null - Функция вызова, которую нужно вызвать.
Возвращает
$this
Исключения
InvalidArgumentExceptionКогда отсутствует имя события или вызов не является экземпляром Cake\Event\EventListenerInterface.
Реализация
Cake\Event\EventManagerInterface::on() prioritisedListeners()source public
prioritisedListeners( string $eventKey )
Возвращает слушателей для указанного ключа события, индексированных по приоритету
Параметры
- string
$eventKey - Ключ события.
Возвращает
arraysetEventList()source public
setEventList( Cake\Event\EventList $eventList )
Включает отображение отправленных событий.
Параметры
-
Cake\Event\EventList$eventList - Объект списка событий для использования.
Возвращает
$this
trackEvents()source public
trackEvents( boolean $enabled )
Включает/отключает отслеживание событий во время выполнения.
Параметры
- boolean
$enabled - Истина или ложь для включения/отключения.
Возвращает
$this
unsetEventList()source public
unsetEventList( )
Отключает отображение отправленных событий.
Возвращает
$this
Подробное описание свойств
$_generalManagersource
protected static Cake\Event\EventManager
Глобально доступный экземпляр, используемый для отправки событий, прикрепленных из любого контекста.
$_isGlobalsource
protected boolean
Внутренний флаг для различения общего менеджера от синглтона
false
$_trackEventssource
protected boolean
Включает автоматическое добавление событий в объект списка событий, если он присутствует.
false
$defaultPrioritysource
public static integer
Значение очереди приоритетов по умолчанию для новых присоединённых обработчиков
10
© 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/3.6/class-Cake.Event.EventManager.html