Собственно цели у них вроде бы как одни и те же, хотя реализация немного разная. Если я все верно понял, то Symfony Event более динамичный и кастомизированный, в то время как DomainEvent более строгий, и шарит только самое важное, uuid, createdAt в основном. Однако, вопрос все еще остается что, почему и когда применять тогда? Это все различия?Как отличить Domain Event от других ивентов?
Один контроллер - это один flush() перед респонсом.
Есть некое хранилище которое "собирает доменные эвенты"
Есть listener, который слушает доктриновское событие postFlush(), забирает из хранилища все эвенты и отдает на обработку диспатчеру. Хранилище обязательно очистить надо.
class User
...
public static function invite(Role $role, Email $email): self {
...
EventStore::remember(new UserInvited($email, $invitationToken));
...
}
...