Класс CakeEventManager
Менеджер событий отвечает за отслеживание слушателей событий, передачу им правильных данных и их срабатывание в правильном порядке, когда срабатывают связанные события. Вы можете создать несколько экземпляров этого объекта для управления локальными событиями или сохранить один экземпляр и передавать его для управления всеми событиями в вашем приложении.
Авторские права: Авторские права (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
Лицензия: MIT License
Расположение: Cake/Event/CakeEventManager.php
Краткое описание свойств
- Глобально доступный экземпляр, используемый для отправки событий, прикреплённых из любого контекста
-
$_isGlobalprotectedВнутренний флаг для различения общего менеджера от синглтонаboolean -
$_listenersprotectedСписок колбэков слушателей, связанных сobject - Значение очереди приоритетов по умолчанию для новых прикрепленных слушателей
integer
Краткое описание методов
- _attachSubscriber() protected
Вспомогательная функция для прикрепления всех реализованных колбэков экземпляра класса CakeEventListener к отдельным методам этого менеджера
- _detachSubscriber() protectedВспомогательная функция для отсоединения всех слушателей, предоставленных объектом, реализующим CakeEventListener
- _extractCallable() protected
Вспомогательная функция для извлечения и возврата типа PHP колбэка из определения вызываемого объекта, полученного из результата метода
implementedEventsкласса CakeEventListener - attach() publicДобавляет нового слушателя к событию. Слушатели
- detach() publicУдаляет слушателя из активных слушателей.
- dispatch() publicОтправляет новое событие всем настроенным слушателям
-
Возвращает глобально доступный экземпляр CakeEventManager, используемый для отправки событий, прикрепленных вне области видимости других менеджеров. Обычно используется для создания систем хуков или межклассовой связи
- listeners() publicВозвращает список всех слушателей для eventKey в порядке их вызова
- prioritisedListeners() publicВозвращает слушателей для указанного ключа события, индексированных по приоритету
Подробное описание методов
_attachSubscriber()source protected
_attachSubscriber( CakeEventListener $subscriber )
Вспомогательная функция для прикрепления всех реализованных колбэков экземпляра класса CakeEventListener к отдельным методам этого менеджера
Параметры
-
CakeEventListener$subscriber - Слушатель события.
_detachSubscriber()source protected
_detachSubscriber( CakeEventListener $subscriber , string $eventKey null )
Вспомогательная функция для отсоединения всех слушателей, предоставленных объектом, реализующим CakeEventListener
Параметры
-
CakeEventListener$subscriber - отсоединяемый слушатель
- строка
$eventKeyнеобязательно null - необязательное имя ключа события для отсоединения слушателя
_extractCallable()source protected
_extractCallable( array $function , CakeEventListener $object )
Вспомогательная функция для извлечения и возврата типа PHP колбэка из определения вызываемого объекта, полученного из результата метода implementedEvents класса CakeEventListener
Параметры
- массив
$function - массив, взятый из определения обработчика события
-
CakeEventListener$object - Объект обработчика
Возвращает
callableattach()source public
attach( callable|CakeEventListener $callable , string $eventKey null , array $options array() )
Добавляет нового слушателя к событию. Слушатели
Параметры
- callable|
CakeEventListener$callable Действительный тип PHP колбэка или экземпляр CakeEventListener, который будет вызван при срабатывании события с именем $eventKey. Если передан экземпляр CakeEventListener, тогда метод
implementedEventsобъекта будет вызван для регистрации объявленных событий как отдельных методов для управления этим классом. Можно определить несколько обработчиков событий для одного имени события.- строка
$eventKeyнеобязательно null Уникальное имя идентификатора события, с которым будет связан колбэк. Если $callable является экземпляром CakeEventListener, этот аргумент будет проигнорирован
- массив
$optionsнеобязательно array() Используется для установки флагов
priorityиpassParamsдля слушателя. Приоритеты обрабатываются как очереди, и несколько прикреплений в одной очереди приоритетов будут обрабатываться в порядке добавления.passParamsозначает, что свойство данных события будет преобразовано в аргументы функции при вызове слушателя. Если $called является экземпляром CakeEventListener, этот параметр будет проигнорирован
Исключения
InvalidArgumentExceptionЕсли ключ события отсутствует или callable не является экземпляром CakeEventListener.
detach()source public
detach( callable|CakeEventListener $callable , string $eventKey null )
Удаляет слушателя из активных слушателей.
Параметры
- callable|
CakeEventListener$callable - любой допустимый тип PHP колбэка или экземпляр CakeEventListener
- строка
$eventKeyнеобязательно null - Уникальное имя идентификатора события, с которым связан колбэк
dispatch()source public
dispatch( string|CakeEvent $event )
Отправляет новое событие всем настроенным слушателям
Параметры
- строка|
CakeEvent$event - имя ключа события или экземпляр CakeEvent
Возвращает
CakeEventВызывает
$eventinstance()source public static
instance( CakeEventManager $manager null )
Возвращает глобально доступный экземпляр CakeEventManager, используемый для отправки событий, прикреплённых вне области видимости других менеджеров. Обычно используется для создания систем хуков или межклассовой связи
Если вызван с первым параметром, он будет установлен в качестве глобально доступного экземпляра
Параметры
-
CakeEventManager$managerнеобязательно null - Необязательный экземпляр менеджера событий.
Возвращает
CakeEventManagerглобальный менеджер событий
listeners()source public
listeners( string $eventKey )
Возвращает список всех слушателей для eventKey в порядке их вызова
Параметры
- строка
$eventKey - Ключ события.
Возвращает
массивprioritisedListeners()source public
prioritisedListeners( string $eventKey )
Возвращает слушателей для указанного ключа события, индексированных по приоритету
Параметры
- строка
$eventKey - Ключ события.
Возвращает
массивПодробное описание свойств
$_generalManagersource
protected static CakeEventManager
Глобально доступная инстанция, используемая для отправки событий, прикреплённых из любого контекста
null
$_isGlobalsource
protected boolean
Внутренний флаг для различения общего менеджера и синглетона
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/2.8/class-CakeEventManager.html