@zzmaster

Как в Symfony 6 отправить сообщение?

Код простой
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;
    }


}
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы