Spec-Zone.ru › CakePHP 3.4

Класс EventManager

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

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

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

  • $_eventList protected
    Cake\Event\EventList|null
    Объект списка событий.
  • $_generalManager protected static
    Cake\Event\EventManager
    Глобальный экземпляр, используемый для обработки событий, подключенных из любого контекста.
  • $_isGlobal protected
    boolean
    Внутренний флаг для различения общего менеджера от синглтона.
  • $_listeners protected
    object
    Список обработчиков событий, связанных с
  • $_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
    Добавляет нового слушателя к событию.
  • detach() public
    Удаляет слушателя из активных слушателей.
  • 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

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

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\Event $event )

Отправляет новое событие всем настроенным слушателям.

Параметры

string|Cake\Event\Event $event
имя ключа события или экземпляр Event

Возвращает

Cake\Event\Event

Вызывает

$event

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
Экземпляр Event менеджера.

Возвращает

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

isTrackingEvents()source public

isTrackingEvents( )

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

Возвращает

boolean

listeners()source public

listeners( string $eventKey )

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

Параметры

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

Возвращает

array

matchingListeners()source public

matchingListeners( string $eventKeyPattern )

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

Параметры

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

Возвращает

array

off()source public

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

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

Полностью удалить EventListenerInterface:

$manager->off($listener);

Удалить всех слушателей для данного события:

$manager->off('My.event');

Удалить определенного слушателя:

$manager->off('My.event', $callback);

Удалить обратный вызов со всех событий:

$manager->off($callback);

Параметры

string|Cake\Event\EventListenerInterface $eventKey

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

callable|null $callable необязательно null
Обратный вызов, который вы хотите отсоединить.

Возвращает


$this

on()source public

on( string|Cake\Event\EventListenerInterface|null $eventKey null , array|callable $options [] , callable|null $callable null )

Добавляет нового слушателя события.

Многоаргументный интерфейс для добавления слушателей, эмулирующий jQuery.on().

Привязка EventListenerInterface:

$eventManager->on($listener);

Привязка без опций:

$eventManager->on('Model.beforeSave', $callable);

Привязка с опциями:

$eventManager->on('Model.beforeSave', ['priority' => 90], $callable);

Параметры

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.


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
True или false для включения/выключения.

Возвращает


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

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

[]

$_trackEventssource

protected boolean

Включает автоматическое добавление событий в объект списка событий, если он присутствует.

Param

bool
false

$defaultPrioritysource

public static integer

Значение очереди приоритетов по умолчанию для новых подключенных обработчиков

10

© 2005–2017 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.4/class-Cake.Event.EventManager.html

Spec-Zone.ru

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