Вот мой метод поведения events()
. Когда я запускаю второй обработчик события, то есть sendMailHanlder
вызывается, и он игнорирует anotherOne
. Я верю, второй перезаписывает первый. Как решить эту проблему, чтобы обработать оба обработчика событий?Yii2 События: Как добавить несколько обработчиков событий, используя метод событий поведения?
// UserBehavior.php
public function events()
{
return [
Users::EVENT_NEW_USER => [$this, 'anotherOne'],
Users::EVENT_NEW_USER => [$this, 'sendMailHanlder'],
];
}
// here are two handlers
public function sendMailHanlder($e)
{
echo ";
}
public function anotherOne($e)
{
echo 'another one';
}
Одна вещь, чтобы заметить, что я прикрепление это поведение моей Users.php
модели. Я попытался добавить оба обработчика с использованием метода модели init()
. Таким образом, вызвали обоих обработчиков. Вот мой код инициализации.
public function init()
{
$this->on(self::EVENT_NEW_USER, [$this, 'anotherOne']);
$this->on(self::EVENT_NEW_USER, [$this, 'sendMailHanlder']);
}