Страница 1 из 1

Отложенные события

Добавлено: 2018.04.10, 02:25
BrusSENS
Доброго времени!
Хотел бы узнать у разработчиков, стоит ли ждать в 2.1 т.н. отложенные события?

Например:

Сервис:

Код: Выделить всё

...
$user->changePassword($password);
if($user->save()) {
    $user->releaseEvents();
}
...
Например AR объект:

Код: Выделить всё

public const EVENT_PASSWORD_CHANGED = 'password.changed';
...
public function changePassword()
{
    $this->password = $password;
    $this->addEvent(self::EVENT_PASSWORD_CHANGED);
}
....
Часто бывает нужно, при смене пароля, что бы пользователь получал сообщение на E-mail, и приходится городить по разному реализацию.

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

Заранее спасибо.

Re: Отложенные события

Добавлено: 2018.04.10, 11:57
ElisDN
BrusSENS писал(а): 2018.04.10, 02:25 Стоит ли ждать в 2.1 т.н. отложенные события?
Отложенные события - это код от самого программиста. К фремворку из коробки он не относится.

Re: Отложенные события

Добавлено: 2018.04.10, 13:34
BrusSENS
ElisDN писал(а): 2018.04.10, 11:57 Отложенные события - это код от самого программиста. К фремворку из коробки он не относится.
Почему так? Просто хочется понять причины.

Re: Отложенные события

Добавлено: 2018.04.10, 16:32
ElisDN
BrusSENS писал(а): 2018.04.10, 13:34 Почему так? Просто хочется понять причины.
Есть стандартные фреймворковские события, которые отрабатывают мгновенно и так и должны работать. А есть наши собственные, которые мы сами придумыли и решили откладывать для обработки после транзакции сохранения.