РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
1329 of 1361 menu

Метод getMessage класса Envelope

Метод getMessage класса Envelope возвращает исходное сообщение, которое было обёрнуто в конверт. Конверт Envelope хранит внутри себя сообщение вместе со штампами (stamps), а метод getMessage позволяет извлечь из него это сообщение. Параметров метод не принимает.

Синтаксис

public function getMessage(): object

Пример

Давайте создадим конверт с сообщением и извлечём из него исходное сообщение:

<?php use Symfony\Component\Messenger\Envelope; class SendEmail { public function __construct( public string $to, public string $subject, ) { } } $message = new SendEmail('user', 'hello'); $envelope = new Envelope($message); $res = $envelope->getMessage(); echo $res->to; echo $res->subject; ?>

Результат выполнения кода:

userhello

Пример

Давайте обернём сообщение в конверт и проверим, что метод getMessage вернёт тот же самый объект:

<?php use Symfony\Component\Messenger\Envelope; class CreateArticle { public function __construct( public string $title, public string $text, ) { } } $message = new CreateArticle('abcde', 'article'); $envelope = Envelope::wrap($message); $res = $envelope->getMessage(); var_dump($res === $message); ?>

Результат выполнения кода:

true

Пример

Давайте добавим штамп к конверту и убедимся, что метод getMessage по-прежнему возвращает исходное сообщение:

<?php use Symfony\Component\Messenger\Envelope; use Symfony\Component\Messenger\Stamp\BusNameStamp; class SendEmail { public function __construct( public string $to, ) { } } $message = new SendEmail('user'); $envelope = new Envelope($message); $envelope = $envelope->with(new BusNameStamp('async')); $res = $envelope->getMessage(); echo $res->to; ?>

Результат выполнения кода:

"user"

Смотрите также

  • класс Envelope,
    который оборачивает сообщение и хранит штампы
  • метод wrap,
    который создаёт конверт из сообщения
  • метод dispatch,
    который отправляет сообщение в шину
  • класс MessageBus,
    который управляет отправкой сообщений
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить