Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. RawMessage.php

class RawMessage

@author Fabien Potencier <fabien@symfony.com>

Hierarchy

  • class \Symfony\Component\Mime\RawMessage

Expanded class hierarchy of RawMessage

22 files declare their use of RawMessage
AbstractTransport.php in vendor/symfony/mailer/Transport/AbstractTransport.php
EmailAddressContains.php in vendor/symfony/mime/Test/Constraint/EmailAddressContains.php
EmailAttachmentCount.php in vendor/symfony/mime/Test/Constraint/EmailAttachmentCount.php
EmailHasHeader.php in vendor/symfony/mime/Test/Constraint/EmailHasHeader.php
EmailHeaderSame.php in vendor/symfony/mime/Test/Constraint/EmailHeaderSame.php

... See full list

File

vendor/symfony/mime/RawMessage.php, line 19

Namespace

Symfony\Component\Mime
View source
class RawMessage {
    private bool $isGeneratorClosed;
    
    /**
     * @param iterable<string>|string|resource $message
     */
    public function __construct($message) {
    }
    public function __destruct() {
        if (\is_resource($this->message)) {
            fclose($this->message);
        }
    }
    public function toString() : string {
        if (\is_string($this->message)) {
            return $this->message;
        }
        if (\is_resource($this->message)) {
            return stream_get_contents($this->message, -1, 0);
        }
        $message = '';
        foreach ($this->message as $chunk) {
            $message .= $chunk;
        }
        return $this->message = $message;
    }
    public function toIterable() : iterable {
        if ($this->isGeneratorClosed ?? false) {
            throw new LogicException('Unable to send the email as its generator is already closed.');
        }
        if (\is_string($this->message)) {
            (yield $this->message);
            return;
        }
        if (\is_resource($this->message)) {
            rewind($this->message);
            while ($line = fgets($this->message)) {
                (yield $line);
            }
            return;
        }
        if ($this->message instanceof \Generator) {
            $message = fopen('php://temp', 'w+');
            foreach ($this->message as $chunk) {
                fwrite($message, $chunk);
                (yield $chunk);
            }
            $this->isGeneratorClosed = !$this->message
                ->valid();
            $this->message = $message;
            return;
        }
        foreach ($this->message as $chunk) {
            (yield $chunk);
        }
    }
    
    /**
     * @throws LogicException if the message is not valid
     */
    public function ensureValidity() : void {
    }
    public function __serialize() : array {
        return [
            $this->toString(),
        ];
    }
    public function __unserialize(array $data) : void {
        [
            $this->message,
        ] = $data;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
RawMessage::$isGeneratorClosed private property
RawMessage::ensureValidity public function 1
RawMessage::toIterable public function 1
RawMessage::toString public function 1
RawMessage::__construct public function 1
RawMessage::__destruct public function
RawMessage::__serialize public function 1
RawMessage::__unserialize public function 1
RSS feed
Powered by Drupal