Код простой
private readonly MessageBusInterface $eventBus
...
$this->eventBus->dispatch(new CategoryCreated(
id: $category->id,
));
получаю
No handler for message "App\Category\Model\Event\CategoryCreated".
Ok, его
еще нет, и вообще-то это сообщение будет листенером обрабатываться, а не хандлером. Очевидно, что при разработке будут сообщения без получателя, да, вообще то и в проде - важно отправить сообщение, а получит ли его кто - это вообще не проблема отправителя.
Можно ли как то сделать, чтоб тут не было ошибки?
Дополнение. Попробовал добавить в config/packages/messenger.yaml
routing:
App\Category\Model\Event\CategoryCreated: async
Получил ошибку
Unknown database type enum requested, Doctrine\DBAL\Platforms\MariaDb1027Platform may not support it.
В классе события ничто не указывает на enum:
namespace App\Category\Model\Event;
/**
* The event will be triggered when the category is created
*/
class CategoryCreated
{
public function __construct(
private readonly int $id,
) {}
/**
* @return int
*/
public function getId(): int
{
return $this->id;
}
}