Класс 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 - Экземпляр события.
Возвращает
смешанный типРезультат выполнения функции $listener.
_detachSubscriber()source protected
_detachSubscriber( Cake\Event\EventListenerInterface $subscriber , string|null $eventKey = null )
Вспомогательная функция для отключения всех слушателей, предоставляемых объектом, реализующим EventListenerInterface
Параметры
-
Cake\Event\EventListenerInterface$subscriber - слушатель, который нужно отключить
- string|null
$eventKeyнеобязательный null - необязательный ключ события, от которого нужно отключить слушателя
_extractCallable()source protected
_extractCallable( array $function , Cake\Event\EventListenerInterface $object )
Вспомогательная функция для извлечения и возврата типа PHP обратного вызова из определения вызываемого объекта, полученного из метода implementedEvents экземпляра Cake\Event\EventListenerInterface
Параметры
- array
$function - массив, взятый из определения обработчика события
-
Cake\Event\EventListenerInterface$object - объект обработчика
Возвращает
вызываемый объектaddEventToList()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 логическое
Включает автоматическое добавление событий в объект списка событий, если он присутствует.
false
$defaultPrioritysource
public static целое число
Значение очереди приоритетов по умолчанию для новых, присоединенных обработчиков событий
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.8/class-Cake.Event.EventManager.html