Spec-Zone.ru › CakePHP 3.8

Класс 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( )

Свойства объекта для отладки.

Возвращает

массив

_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
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 необязательно 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\EventList

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

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

Возвращает

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 необязательно 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
Ключ события.

Возвращает

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

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

$_isGlobalsource

protected boolean

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

false

$_listenerssource

protected массив

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

[]

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

Spec-Zone.ru

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