С мессенджером у вас нет «имен событий».
Вам просто нужно отправить соответствующий экземпляр сообщения.
Если вы публикуете статью, вместо того, чтобы иметь общий c ArticleEvent
class, создайте команду PublishArticle
или событие ArticlePublished
.
Выбор между ними зависит от того, регистрируете ли вы событие (что-то уже произошло) или команду (что-то, что вы должно произойти).
Создать обработчик для этих сообщений так же просто, как создать MessageHandlerInterface
реализующий класс:
use Symfony\Component\Messenger\Handler\MessageHandlerInterface;
class PublishArticleHandler implements MessageHandlerInterface
{
public function __invoke(PublishArticle $message)
{
// ... do some work - like publishing the article
}
}