Spec-Zone.ru › CakePHP 3.3

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

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

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

Параметры

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
Событие для добавления в список.
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

Если отсутствует ключ события или callable не является экземпляром 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 manager.

Возвращает

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
Обратный вызов, который вы хотите отключить.

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
Функция обратного вызова, которую вы хотите вызвать.

Исключения

InvalidArgumentException

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


prioritisedListeners()source public

prioritisedListeners( string $eventKey )

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

Параметры

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

Возвращает

array

setEventList()source public

setEventList( Cake\Event\EventList $eventList )

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

Параметры

Cake\Event\EventList $eventList
Объект списка событий для использования.

trackEvents()source public

trackEvents( boolean $enabled )

Включает/выключает отслеживание событий во время выполнения.

Параметры

boolean $enabled
True или false, чтобы включить/выключить его.

unsetEventList()source public

unsetEventList( )

Отключает просмотр отправленных событий.

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

$_eventListsource

protected Cake\Event\EventList|null

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

$_generalManagersource

protected static Cake\Event\EventManager

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

null

$_isGlobalsource

protected boolean

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

false

$_listenerssource

protected object

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

[]

$_trackEventssource

protected boolean

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

Параметр

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

Spec-Zone.ru

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