Задать вопрос
@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;
    }


}
  • Вопрос задан
  • 242 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽