Spec-Zone.ru › CakePHP 3.2

Класс 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, который используется для отправки событий, привязанных вне области видимости других созданных менеджеров. Обычно для создания систем хуков или межклассовой коммуникации

  • 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

Когда ключ события отсутствует или обратный вызов не является экземпляром 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
имя ключа события или экземпляр события

Возвращает

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
Экземпляр менеджера событий.

Возвращает

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

listeners()source public

listeners( string $eventKey )

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

Параметры

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

Возвращает

массив

matchingListeners()source public

matchingListeners( string $eventKeyPattern )

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

Параметры

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

Возвращает

массив

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

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


prioritisedListeners()source public

prioritisedListeners( string $eventKey )

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

Параметры

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

Возвращает

массив

setEventList()source public

setEventList( Cake\Event\EventList $eventList )

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

Параметры

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

trackEvents()source public

trackEvents( boolean $enabled )

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

Параметры

boolean $enabled
Истина или ложь для включения/выключения.

unsetEventList()source public

unsetEventList( )

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

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

$_eventListsource

protected Cake\Event\EventList|null

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

$_generalManagersource

protected static Cake\Event\EventManager

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

null

$_isGlobalsource

protected boolean

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

false
END_OF_DOCUMENT_MARKER

$_listenerssource

protected object

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

[]

$_trackEventssource

protected boolean

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

Параметр

bool
false

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

Spec-Zone.ru

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