Класс 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Отключает вывод списка отправленных событий.
Подробное описание методов
__debugInfo()source public
__debugInfo( )
Свойства объекта, дружественные для отладки.
Возвращает
array_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
$eventKeyoptional null Уникальное имя идентификатора события, с которым будет связан обработчик. Если $callable является экземпляром Cake\Event\EventListenerInterface, этот аргумент будет проигнорирован.
- array
$optionsoptional [] используется для установки флага
priorityдля слушателя. В будущем могут быть добавлены дополнительные параметры. Приоритеты обрабатываются как очереди. Меньшие значения вызываются перед большими, и несколько прикрепленных к одной очереди приоритетов будут обработаны в порядке добавления.
Исключения
InvalidArgumentExceptionКогда ключ события отсутствует или callable не является экземпляром 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
$eventKeyoptional 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$manageroptional 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
$callableoptional 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$eventKeyoptional null Уникальное имя идентификатора события, с которым будет связан обработчик. Если $eventKey является экземпляром Cake\Event\EventListenerInterface, его события будут связаны с помощью методов
implementedEvents.- array|callable
$optionsoptional [] Массив с параметрами или callable-функция, которую вы хотите связать с $eventKey. Если массив с параметрами, ключ
priorityможет быть использован для определения порядка. Приоритеты обрабатываются как очереди. Меньшие значения вызываются перед большими, и несколько прикрепленных к одной очереди приоритетов будут обработаны в порядке добавления.- callable|null
$callableoptional null - Функция callable, которую вы хотите вызвать.
Возвращает
$this
Исключения
InvalidArgumentExceptionКогда ключ события отсутствует или callable не является экземпляром 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.7/class-Cake.Event.EventManager.html