Abstract Class Yiisoft\Queue\Message\Envelope
| Inheritance | Yiisoft\Queue\Message\Envelope |
|---|---|
| Implements | Yiisoft\Queue\Message\EnvelopeInterface |
| Subclasses | Yiisoft\Queue\Message\IdEnvelope, Yiisoft\Queue\Middleware\FailureHandling\FailureEnvelope |
Protected Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| $message | Yiisoft\Queue\Message\MessageInterface | Yiisoft\Queue\Message\Envelope |
Public Methods
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| getEnvelopeMetadata() | Yiisoft\Queue\Message\Envelope |
Constants
| Constant | Value | Description | Defined By |
|---|---|---|---|
| ENVELOPE_STACK_KEY | 'envelopes' | Yiisoft\Queue\Message\EnvelopeInterface |
Property Details
Method Details
| public mixed __construct ( Yiisoft\Queue\Message\MessageInterface $message ) | ||
| $message | Yiisoft\Queue\Message\MessageInterface | |
public function __construct(protected MessageInterface $message)
{
}
| public static Yiisoft\Queue\Message\Envelope fromData ( string $handlerName, mixed $data, array $metadata = [] ) | ||
| $handlerName | string | |
| $data | mixed | |
| $metadata | array | |
public static function fromData(string $handlerName, mixed $data, array $metadata = []): static
{
/** @psalm-suppress LessSpecificReturnStatement */
return static::fromMessage(Message::fromData($handlerName, $data, $metadata));
}
| public abstract static Yiisoft\Queue\Message\Envelope fromMessage ( Yiisoft\Queue\Message\MessageInterface $message ) | ||
| $message | Yiisoft\Queue\Message\MessageInterface | |
public static function fromMessage(MessageInterface $message): static;
| protected abstract array getEnvelopeMetadata ( ) |
abstract protected function getEnvelopeMetadata(): array;
| public string getHandlerName ( ) |
public function getHandlerName(): string
{
return $this->message->getHandlerName();
}
| public Yiisoft\Queue\Message\MessageInterface getMessage ( ) |
public function getMessage(): MessageInterface
{
return $this->message;
}
| public array getMetadata ( ) |
public function getMetadata(): array
{
if ($this->metadata === null) {
$messageMeta = $this->message->getMetadata();
$stack = $messageMeta[EnvelopeInterface::ENVELOPE_STACK_KEY] ?? [];
if (!is_array($stack)) {
$stack = [];
}
$this->metadata = array_merge(
$messageMeta,
[
EnvelopeInterface::ENVELOPE_STACK_KEY => array_merge(
$stack,
[static::class],
),
],
$this->getEnvelopeMetadata(),
);
}
return $this->metadata;
}
Signup or Login in order to comment.