Spec-Zone.ru › Yii 2.0

Класс yii\base\Event

Все классы | Свойства | Методы
Наследование yii\base\Event » yii\base\Object
Реализует yii\base\Configurable
Подклассы yii\base\ActionEvent, yii\base\ModelEvent, yii\base\ViewEvent, yii\base\WidgetEvent, yii\db\AfterSaveEvent, yii\httpclient\RequestEvent, yii\i18n\MissingTranslationEvent, yii\mail\MailEvent, yii\web\UserEvent
Доступен с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/base/Event.php

Класс Event является базовым для всех классов событий.

Он инкапсулирует параметры, связанные с событием. Свойство $sender описывает, кто вызывает событие. А свойство $handled указывает, обработано ли событие. Если обработчик события установит $handled в true, остальные невызванные обработчики больше не будут вызываться для обработки события.

Кроме того, при подключении обработчика события могут быть переданы дополнительные данные, доступные через свойство $data при вызове обработчика события.

Для получения более подробной информации и сведений об использовании события см. статью в руководстве по событиям.

Публичные свойства

Свойство Тип Описание Определено в
$data смешанный Данные, передаваемые в yii\base\Component::on() при подключении обработчика события. yii\base\Event
$handled boolean Обработано ли событие. yii\base\Event
$name string Имя события. yii\base\Event
$sender object Отправитель этого события. yii\base\Event

Публичные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. yii\base\Object
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т.е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в null. yii\base\Object
canGetProperty() Возвращает значение, указывающее, можно ли прочитать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
hasHandlers() Возвращает значение, указывающее, есть ли какой-либо обработчик, подключенный к событию уровня класса. yii\base\Event
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует объект. yii\base\Object
off() Отсоединяет обработчик события от события уровня класса. yii\base\Event
offAll() Отсоединяет все зарегистрированные обработчики событий уровня класса. yii\base\Event
on() Подключает обработчик события к событию уровня класса. yii\base\Event
trigger() Вызывает событие уровня класса. yii\base\Event

Подробности свойств

$data публичное свойство

Данные, передаваемые в yii\base\Component::on() при подключении обработчика события. Обратите внимание, что это зависит от того, какой обработчик события выполняется в данный момент.

public mixed $data = null

$handled публичное свойство

Обработано ли событие. По умолчанию false. Когда обработчик устанавливает это значение в true, обработка события остановится и будут проигнорированы остальные невызванные обработчики событий.

public boolean $handled = false

$name публичное свойство

Имя события. Это свойство устанавливается методом yii\base\Component::trigger() и trigger(). Обработчики событий могут использовать это свойство для проверки, какое событие они обрабатывают.

public string $name = null

$sender публичное свойство

Отправитель этого события. Если не задано, это свойство будет установлено как объект, метод trigger() которого вызывается. Это свойство также может быть null, когда это событие уровня класса, которое вызывается в статическом контексте.

public object $sender = null

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

hasHandlers() public static method

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

Обратите внимание, что этот метод также проверит все родительские классы, чтобы определить, есть ли обработчик, прикрепленный к событию с указанным именем.

public static boolean hasHandlers ( $class, $name )
$class string|object

Объект или полное имя класса, указывающее на событие на уровне класса.

$name string

Имя события.

return boolean

Присутствует ли какой-либо обработчик, прикрепленный к событию.

off() public static method

Открепляет обработчик события от события на уровне класса.

Этот метод является обратным on().

См. также on().

public static boolean off ( $class, $name, $handler = null )
$class string

Полное имя класса, из которого необходимо открепить обработчик события.

$name string

Имя события.

$handler callable

Обработчик события, который нужно удалить. Если он null, все обработчики, прикрепленные к событию с указанным именем, будут удалены.

return boolean

Найден и откреплен ли обработчик.

offAll() public static method (доступно с версии 2.0.10)

Открепляет все зарегистрированные обработчики событий на уровне класса.

См. также:

  • on()
  • off()
public static void offAll ( )

on() public static method

Прикрепляет обработчик события к событию на уровне класса.

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

Например, следующий код прикрепляет обработчик события к событию ActiveRecord's afterInsert:

Event::on(ActiveRecord::className(), ActiveRecord::EVENT_AFTER_INSERT, function ($event) {
    Yii::trace(get_class($event->sender) . ' is inserted.');
});

Обработчик будет вызываться для КАЖДОГО успешного вставки объекта ActiveRecord.

Для получения более подробной информации о том, как объявить обработчик события, обратитесь к yii\base\Component::on().

См. также off().

public static void on ( $class, $name, $handler, $data = null, $append = true )
$class string

Полное имя класса, к которому необходимо прикрепить обработчик события.

$name string

Имя события.

$handler callable

Обработчик события.

$data mixed

Данные, которые будут переданы обработчику события при его срабатывании. При вызове обработчика события эти данные можно получить через yii\base\Event::$data.

$append boolean

Добавлять ли новый обработчик события в конец существующего списка обработчиков. Если false, новый обработчик будет вставлен в начало существующего списка обработчиков.

trigger() public static method

Срабатывает событие на уровне класса.

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

public static void trigger ( $class, $name, $event = null )
$class string|object

Объект или полное имя класса, указывающее на событие на уровне класса.

$name string

Имя события.

$event yii\base\Event

Параметр события. Если не задан, будет создан объект yii\base\Event по умолчанию.

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-base-event.html

Spec-Zone.ru

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