| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <?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\Part;use Symfony\Component\Mime\Header\Headers;/** * @author Fabien Potencier <fabien@symfony.com> */abstract class AbstractPart{    private $headers;    public function __construct()    {        $this->headers = new Headers();    }    public function getHeaders(): Headers    {        return $this->headers;    }    public function getPreparedHeaders(): Headers    {        $headers = clone $this->headers;        $headers->setHeaderBody('Parameterized', 'Content-Type', $this->getMediaType().'/'.$this->getMediaSubtype());        return $headers;    }    public function toString(): string    {        return $this->getPreparedHeaders()->toString()."\r\n".$this->bodyToString();    }    public function toIterable(): iterable    {        yield $this->getPreparedHeaders()->toString();        yield "\r\n";        yield from $this->bodyToIterable();    }    public function asDebugString(): string    {        return $this->getMediaType().'/'.$this->getMediaSubtype();    }    abstract public function bodyToString(): string;    abstract public function bodyToIterable(): iterable;    abstract public function getMediaType(): string;    abstract public function getMediaSubtype(): string;}
 |