| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 | <?php/* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace Symfony\Component\Mime;use Symfony\Component\Mime\Exception\LogicException;/** * @author Fabien Potencier <fabien@symfony.com> */class RawMessage implements \Serializable{    private $message;    /**     * @param iterable|string $message     */    public function __construct($message)    {        $this->message = $message;    }    public function toString(): string    {        if (\is_string($this->message)) {            return $this->message;        }        if ($this->message instanceof \Traversable) {            $this->message = iterator_to_array($this->message, false);        }        return $this->message = implode('', $this->message);    }    public function toIterable(): iterable    {        if (\is_string($this->message)) {            yield $this->message;            return;        }        $message = '';        foreach ($this->message as $chunk) {            $message .= $chunk;            yield $chunk;        }        $this->message = $message;    }    /**     * @throws LogicException if the message is not valid     */    public function ensureValidity()    {    }    /**     * @internal     */    final public function serialize(): string    {        return serialize($this->__serialize());    }    /**     * @internal     */    final public function unserialize($serialized)    {        $this->__unserialize(unserialize($serialized));    }    public function __serialize(): array    {        return [$this->toString()];    }    public function __unserialize(array $data): void    {        [$this->message] = $data;    }}
 |