Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/*
4
 * This file is part of the Symfony package.
5
 *
6
 * (c) Fabien Potencier <fabien@symfony.com>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
 
12
namespace Symfony\Component\Mime\Part;
13
 
14
use Symfony\Component\Mime\Header\Headers;
15
 
16
/**
17
 * @author Fabien Potencier <fabien@symfony.com>
18
 */
19
abstract class AbstractPart
20
{
21
    private $headers;
22
 
23
    public function __construct()
24
    {
25
        $this->headers = new Headers();
26
    }
27
 
28
    public function getHeaders(): Headers
29
    {
30
        return $this->headers;
31
    }
32
 
33
    public function getPreparedHeaders(): Headers
34
    {
35
        $headers = clone $this->headers;
36
        $headers->setHeaderBody('Parameterized', 'Content-Type', $this->getMediaType().'/'.$this->getMediaSubtype());
37
 
38
        return $headers;
39
    }
40
 
41
    public function toString(): string
42
    {
43
        return $this->getPreparedHeaders()->toString()."\r\n".$this->bodyToString();
44
    }
45
 
46
    public function toIterable(): iterable
47
    {
48
        yield $this->getPreparedHeaders()->toString();
49
        yield "\r\n";
50
        yield from $this->bodyToIterable();
51
    }
52
 
53
    public function asDebugString(): string
54
    {
55
        return $this->getMediaType().'/'.$this->getMediaSubtype();
56
    }
57
 
58
    abstract public function bodyToString(): string;
59
 
60
    abstract public function bodyToIterable(): iterable;
61
 
62
    abstract public function getMediaType(): string;
63
 
64
    abstract public function getMediaSubtype(): string;
65
}