Рейтинг:  0 / 5

Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Обработка событий компонента в Yii 2

Обработка событий компонента

Если поведению требуется реагировать на события компонента, к которому оно прикреплено, то необходимо переопределить метод [[yii\base\Behavior::events()]]. Например,



namespace app\components;

use yii\db\ActiveRecord;
use yii\base\Behavior;

class MyBehavior extends Behavior
{
    // ...

    public function events()
    {
        return [
            ActiveRecord::EVENT_BEFORE_VALIDATE => 'beforeValidate',
        ];
    }

    public function beforeValidate($event)
    {
        // ...
    }
}

Метод [[yii\base\Behavior::events()|events()]] должен возвращать список событий и соответствующих им обработчиков. В приведенном выше примере, объявлено событие [[yii\db\ActiveRecord::EVENT_BEFORE_VALIDATE|EVENT_BEFORE_VALIDATE]] и его обработчик beforeValidate(). Указать обработчик события, можно одним из следующих способов:

  • строка с именем метода текущего поведения, как в примере выше;
  • массив, содержащий объект или имя класса, и имя метода, например, [$object, 'methodName'];
  • анонимная функция.

Функция обработчика события должна выглядеть как показано ниже, где $event содержит параметр события. Более детальная информация приведена в разделе События.

function ($event) {
}

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )

Log in to comment