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

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

Метод all класса Envelope возвращает массив всех штампов заданного типа, которые были добавлены в конверт сообщения. Первым параметром передаётся имя класса штампа, например DelayStamp или HandledStamp. Если штампов указанного типа в конверте нет, метод вернёт пустой массив.

Синтаксис

public function all(string $stamp): array

Пример

Давайте создадим конверт с несколькими штампами задержки и получим их все через метод all:

<?php namespace App\Service; use Symfony\Component\Messenger\Envelope; use Symfony\Component\Messenger\Stamp\DelayStamp; class EnvelopeService { public function getDelays(): array { $envelope = new Envelope(new \stdClass()); $envelope = $envelope->with(new DelayStamp(1000)); $envelope = $envelope->with(new DelayStamp(2000)); $envelope = $envelope->with(new DelayStamp(3000)); $res = $envelope->all(DelayStamp::class); return $res; } } ?>

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

[ DelayStamp { delay: 1000 }, DelayStamp { delay: 2000 }, DelayStamp { delay: 3000 } ]

Пример

Давайте проверим, что вернёт метод all, если штампов указанного типа в конверте нет:

<?php namespace App\Service; use Symfony\Component\Messenger\Envelope; use Symfony\Component\Messenger\Stamp\DelayStamp; use Symfony\Component\Messenger\Stamp\HandledStamp; class EnvelopeService { public function getHandled(): array { $envelope = new Envelope(new \stdClass()); $envelope = $envelope->with(new DelayStamp(1000)); $res = $envelope->all(HandledStamp::class); return $res; } } ?>

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

[]

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

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