Spec-Zone.ru › CakePHP 3.1

Класс EventManager

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

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

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

__debugInfosource public

__debugInfo( )

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

Возвращает

array
массив

_attachSubscribersource protected

_attachSubscriber( Cake\Event\EventListenerInterface $subscriber )

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

Параметры

Cake\Event\EventListenerInterface $subscriber
Слушатель событий.

_callListenersource protected

_callListener( callable $listener , Cake\Event\Event $event )

Вызывает слушателя.

Прямой вызов обратного вызова на 30% быстрее, чем использование call_user_func_array. Оптимизированы общие случаи для повышения производительности.

Параметры

вызываемый объект $listener
Слушатель для срабатывания.
Cake\Event\Event $event
Экземпляр события.

Возвращает

mixed
Результат функции $listener.

_detachSubscribersource protected

_detachSubscriber( Cake\Event\EventListenerInterface $subscriber , string|null $eventKey null )

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

Параметры

Cake\Event\EventListenerInterface $subscriber
подписчик, который нужно отключить
строка|null $eventKey необязательно null
необязательное имя ключа события для отключения слушателя от него

_extractCallablesource protected

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

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

Параметры

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

Возвращает

callable
обратный вызов

attachsource public

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

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

Устарело

3.0.0 Используйте on() вместо этого.

Параметры

обратный_вызов|Cake\Event\EventListenerInterface $callable
Действительный тип обратного вызова PHP или экземпляр Cake\Event\EventListenerInterface, который будет вызван, когда будет сгенерировано событие с именем $eventKey. Если передан экземпляр Cake\Event\EventListenerInterface, то метод implementedEvents будет вызван на объекте для регистрации объявленных событий индивидуально как методы, которые будут управляться этим классом. Возможна настройка нескольких обработчиков событий для одного имени события.
строка $eventKey необязательно null
Уникальное идентификаторное имя события, с которым будет связан обратный вызов. Если $callable является экземпляром Cake\Event\EventListenerInterface, этот аргумент будет проигнорирован.
массив $options необязательно []
используется для установки флага priority для слушателя. В будущем могут быть добавлены другие параметры. Приоритеты обрабатываются как очереди. Меньшие значения вызываются раньше, а несколько прикреплений, добавленных в одну очередь с одинаковым приоритетом, будут обработаны в порядке вставки.

Выбрасывает

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

detachsource public

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

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

Устарело

3.0.0 Используйте off() вместо этого.

Параметры

обратный_вызов|Cake\Event\EventListenerInterface $callable
любой допустимый обратный вызов PHP или экземпляр EventListenerInterface
строка|null $eventKey необязательно null
Уникальное идентификаторное имя события, с которым связан обратный вызов

dispatchsource public

dispatch( string|Cake\Event\Event $event )

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

Параметры

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

Возвращает

Cake\Event\Event
\Cake\Event\Event

Вызывает

$event

instancesource public static

instance( Cake\Event\EventManager $manager null )

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

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

Параметры

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

Возвращает

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

listenerssource public

listeners( string $eventKey )

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

Параметры

строка $eventKey
Ключ события.

Возвращает

array
массив

offsource public

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

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

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

$manager->off($listener);

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

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

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

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

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

$manager->off($callback);

Параметры

строка|Cake\Event\EventListenerInterface $eventKey
Уникальное идентификаторное имя события, с которым связан обратный вызов, или $listener, который требуется удалить.
обратный_вызов $callable необязательно null
Обратный вызов, который требуется отключить.

onsource public

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

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

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

Привязка EventListenerInterface:

$eventManager->on($listener);

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

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

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

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

Параметры

строка|Cake\Event\EventListenerInterface $eventKey необязательно null
Уникальное идентификаторное имя события, с которым будет связан обратный вызов. Если $eventKey является экземпляром Cake\Event\EventListenerInterface, его события будут привязаны с помощью методов implementedEvents.
массив|обратный_вызов $options необязательно []
Либо массив опций, либо обратный вызов, который нужно привязать к $eventKey. Если массив опций, ключ priority может быть использован для определения порядка. Приоритеты обрабатываются как очереди. Меньшие значения вызываются раньше, а несколько прикреплений, добавленных в одну очередь с одинаковым приоритетом, будут обработаны в порядке вставки.
обратный_вызов $callable необязательно null
Функция обратного вызова, которую нужно вызвать.

Выбрасывает

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

prioritisedListenerssource public

prioritisedListeners( string $eventKey )

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

Параметры

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

Возвращает

array
массив

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

$_generalManagersource

protected static Cake\Event\EventManager

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

null

$_isGlobalsource

protected boolean

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

false

$_listenerssource

protected object

Список колбэков слушателей, связанных с

[]

$defaultPrioritysource

public static integer

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

10

© 2005–2016 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.
http://api.cakephp.org/3.1/class-Cake.Event.EventManager.html

Spec-Zone.ru

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