Класс 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 |
Обработчик события, который нужно удалить. Если он |
| return | boolean |
Найден и откреплен ли обработчик. |
offAll() public static method (доступно с версии 2.0.10)
Открепляет все зарегистрированные обработчики событий на уровне класса.
См. также:
| 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 |
Добавлять ли новый обработчик события в конец существующего списка обработчиков. Если |
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