Spec-Zone.ru › CakePHP 3.6

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

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

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.6/class-Cake.Event.EventManager.html

Spec-Zone.ru

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