Spec-Zone.ru › CakePHP 3.5

Класс EventManager

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

Пространство имён: 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
    Добавляет нового обработчика к событию.
  • 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
имя ключа события или экземпляр события

Возвращает

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
Глобальный менеджер событий

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
Истина или ложь для включения/выключения.

Возвращает


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

Spec-Zone.ru

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