Spec-Zone.ru › CakePHP 3.7

Класс EventManager

Менеджер событий отвечает за отслеживание слушателей событий, передачу правильных данных им и запуск их в правильном порядке, когда срабатывают связанные события. Вы можете создать несколько экземпляров этого объекта для управления локальными событиями или сохранить один экземпляр и передавать его для управления всеми событиями в вашем приложении.

Cake\Event\EventManager реализует Cake\Event\EventManagerInterface
Пространство имен: Cake\Event
Расположение: Event/EventManager.php

Краткое описание свойств

  • $_eventList protected
    Cake\Event\EventList|null
    Объект списка событий.
  • $_generalManager protected static
    Cake\Event\EventManager
    Глобально доступный экземпляр, используемый для отправки событий, прикрепленных из любого контекста
  • $_isGlobal protected
    boolean
    Внутренний флаг для различения общего менеджера от синглтона
  • $_listeners protected
    array
    Список обработчиков-слушателей, связанных с
  • $_trackEvents protected
    boolean
    Включает автоматическое добавление событий в объект списка событий, если он присутствует.
  • $defaultPriority public static
    integer
    Значение очереди приоритетов по умолчанию для новых прикрепленных слушателей

Краткое описание методов

  • __debugInfo() public
    Свойства объекта, дружественные для отладки.
  • _attachSubscriber() protected

    Вспомогательная функция для прикрепления всех реализованных обратных вызовов экземпляра класса Cake\Event\EventListenerInterface в качестве отдельных методов к этому менеджеру

  • _callListener() protected
    Вызов слушателя.
  • _detachSubscriber() protected
    Вспомогательная функция для отделения всех слушателей, предоставляемых объектом, реализующим EventListenerInterface
  • _extractCallable() protected

    Вспомогательная функция для извлечения и возврата типа обратного вызова PHP из определения вызываемого объекта, полученного из результата метода implementedEvents у Cake\Event\EventListenerInterface

  • addEventToList() public
    Добавляет событие в список, если объект списка событий присутствует.
  • attach() public deprecated
    Добавляет нового слушателя к событию.
  • detach() public deprecated
    Удаляет слушателя из активных слушателей.
  • 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()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 $eventKey optional null
необязательный ключ события для отсоединения слушателя

_extractCallable()source protected

_extractCallable( array $function , Cake\Event\EventListenerInterface $object )

Вспомогательная функция для извлечения и возврата типа обратного вызова PHP из определения вызываемого объекта, полученного из результата метода implementedEvents у Cake\Event\EventListenerInterface

Параметры

array $function
массив, взятый из определения обработчика для события
Cake\Event\EventListenerInterface $object
объект обработчика

Возвращает

callable

addEventToList()source public

addEventToList( Cake\Event\Event $event )

Добавляет событие в список, если объект списка событий присутствует.

Параметры

Cake\Event\Event $event
Событие, которое нужно добавить в список.

Возвращает


$this
END_OF_DOCUMENT_MARKER ```

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 optional null

Уникальное имя идентификатора события, с которым будет связан обработчик. Если $callable является экземпляром Cake\Event\EventListenerInterface, этот аргумент будет проигнорирован.

array $options optional []

используется для установки флага 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 $eventKey optional 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\EventList

instance()source public static

instance( Cake\Event\EventManager|null $manager = null )

Возвращает глобальный доступный экземпляр Cake\Event\EventManager, используемый для отправки событий, прикрепленных вне области видимости других менеджеров. Обычно используется для создания систем хуков или межклассовой связи

Если вызвано с первым параметром, он будет установлен как глобальный доступный экземпляр

Параметры

Cake\Event\EventManager|null $manager optional null
Экземпляр менеджера событий.

Возвращает

Cake\Event\EventManager
Глобальный менеджер событий

isTrackingEvents()source public

isTrackingEvents( )

Возвращает, включено ли отслеживание событий в этом менеджере

Возвращает

boolean

listeners()source public

listeners( string $eventKey )

Возвращает список всех слушателей для eventKey в порядке, в котором они должны быть вызваны

Параметры

string $eventKey
Ключ события.

Возвращает

array

Реализация

Cake\Event\EventManagerInterface::listeners()

matchingListeners()source public

matchingListeners( string $eventKeyPattern )

Возвращает слушателей, соответствующих заданному шаблону

Параметры

string $eventKeyPattern
Шаблон для соответствия.

Возвращает

array

off()source public

off( string|Cake\Event\EventListenerInterface $eventKey , callable|null $callable = null )

Удаляет слушателя из активных слушателей.

Параметры

string|Cake\Event\EventListenerInterface $eventKey

Уникальное имя идентификатора события, с которым был связан обработчик, или $listener, который вы хотите удалить.

callable|null $callable optional 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 optional null

Уникальное имя идентификатора события, с которым будет связан обработчик. Если $eventKey является экземпляром Cake\Event\EventListenerInterface, его события будут связаны с помощью методов implementedEvents.

array|callable $options optional []

Массив с параметрами или callable-функция, которую вы хотите связать с $eventKey. Если массив с параметрами, ключ priority может быть использован для определения порядка. Приоритеты обрабатываются как очереди. Меньшие значения вызываются перед большими, и несколько прикрепленных к одной очереди приоритетов будут обработаны в порядке добавления.

callable|null $callable optional null
Функция callable, которую вы хотите вызвать.

Возвращает


$this

Исключения

InvalidArgumentException

Когда ключ события отсутствует или callable не является экземпляром Cake\Event\EventListenerInterface.


Реализация

Cake\Event\EventManagerInterface::on()

prioritisedListeners()source public

prioritisedListeners( string $eventKey )

Возвращает слушателей для указанного ключа события, индексированных по приоритету

Параметры

string $eventKey
Ключ события.

Возвращает

array

setEventList()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

Подробное описание свойств

$_eventListsource

protected Cake\Event\EventList|null

Объект списка событий.

$_generalManagersource

protected static Cake\Event\EventManager

Глобальный доступный экземпляр, используемый для отправки событий, прикреплённых в любом контексте

END_OF_DOCUMENT_MARKER

$_isGlobalsource

protected boolean

Внутренний флаг для различения общего менеджера от синглтона

false

$_listenerssource

protected array

Список обработчиков событий, связанных с

[]

$_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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API