| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | <?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;        }        return $this->message = implode('', iterator_to_array($this->message, false));    }    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;    }}
 |