Команда debug:messenger
Команда debug:messenger относится к секции cmd и
показывает, как настроен компонент Messenger в приложении.
Она выводит доступные транспорты, маршруты сообщений и
обработчики, привязанные к каждому сообщению. Команда не
принимает обязательных параметров и используется для
быстрой проверки конфигурации шины сообщений.
Синтаксис
php bin/console debug:messenger [options]
Пример
Давайте создадим класс сообщения и его обработчик:
<?php
namespace App\Message;
class ArticleMessage
{
public function __construct(
private string $text
) {
}
public function getText(): string
{
return $this->text;
}
}
?>
<?php
namespace App\MessageHandler;
use App\Message\ArticleMessage;
use Symfony\Component\Messenger\Attribute\AsMessageHandler;
#[AsMessageHandler]
class ArticleMessageHandler
{
public function __invoke(ArticleMessage $message): void
{
echo $message->getText();
}
}
?>
Теперь запустим команду:
php bin/console debug:messenger
Результат выполнения команды:
Messenger
=========
* available
No transport configured.
Пример
Давайте настроим транспорт и маршрут в конфигурации:
framework:
messenger:
transports:
async:
dsn: '%env(MESSENGER_TRANSPORT_DSN)%'
routing:
App\Message\ArticleMessage: async
Теперь запустим команду снова:
php bin/console debug:messenger
Результат выполнения команды:
Messenger
=========
* available
async
-----
App\Message\ArticleMessage
Пример
Давайте выведем только обработчики сообщений с помощью опции --handlers:
php bin/console debug:messenger --handlers
Результат выполнения команды:
Handlers
========
App\Message\ArticleMessage
--------------------------
App\MessageHandler\ArticleMessageHandler
Смотрите также
-
команда
debug:container,
которая показывает список сервисов контейнера -
команда
messenger:consume,
которая запускает обработку сообщений из транспорта -
команда
messenger:stats,
которая выводит статистику по транспортам -
команда
make:message,
которая создаёт класс сообщения