UnmappableEvent¶
Selyusize\EventsRouter\Exception\UnmappableEvent
В Psr14EventDispatcher::dispatch() передан объект, для которого неизвестно имя события: он не реализует EventInterface, а маппер в адаптер не передан.
Как исправить¶
Передайте маппер — функцию, которая возвращает имя события для объекта:
<?php
$dispatcher = new Psr14EventDispatcher(
$events,
static fn (object $event): string => match (true) {
$event instanceof OrderPaid => 'shop.order.' . $event->orderId . '.paid',
},
);
Или рассылайте объекты, реализующие EventInterface, например Event:
Если маппер вернёт некорректное имя, будет InvalidEventName.