Вот мой метод класса Behavior events()
. Когда я запускаю второй обработчик события, то есть sendMailHanlder
, вызывается и игнорирует anotherOne
. Я считаю, что второй перезаписывает первый. Как решить эту проблему, чтобы вызывались оба обработчика событий?
// 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']);
}