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

Breadcrumb

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

class SMimePart

@author Sebastiaan Stok <s.stok@rollerscapes.net>

Hierarchy

  • class \Symfony\Component\Mime\Part\AbstractPart
    • class \Symfony\Component\Mime\Part\SMimePart extends \Symfony\Component\Mime\Part\AbstractPart

Expanded class hierarchy of SMimePart

1 file declares its use of SMimePart
SMime.php in vendor/symfony/mime/Crypto/SMime.php

File

vendor/symfony/mime/Part/SMimePart.php, line 19

Namespace

Symfony\Component\Mime\Part
View source
class SMimePart extends AbstractPart {
    
    /** @internal */
    protected Headers $_headers;
    public function __construct(iterable|string $body, string $type, string $subtype, array $parameters) {
        parent::__construct();
    }
    public function getMediaType() : string {
        return $this->type;
    }
    public function getMediaSubtype() : string {
        return $this->subtype;
    }
    public function bodyToString() : string {
        if (\is_string($this->body)) {
            return $this->body;
        }
        $body = '';
        foreach ($this->body as $chunk) {
            $body .= $chunk;
        }
        $this->body = $body;
        return $body;
    }
    public function bodyToIterable() : iterable {
        if (\is_string($this->body)) {
            (yield $this->body);
            return;
        }
        $body = '';
        foreach ($this->body as $chunk) {
            $body .= $chunk;
            (yield $chunk);
        }
        $this->body = $body;
    }
    public function getPreparedHeaders() : Headers {
        $headers = clone parent::getHeaders();
        $headers->setHeaderBody('Parameterized', 'Content-Type', $this->getMediaType() . '/' . $this->getMediaSubtype());
        foreach ($this->parameters as $name => $value) {
            $headers->setHeaderParameter('Content-Type', $name, $value);
        }
        return $headers;
    }
    public function __sleep() : array {
        // convert iterables to strings for serialization
        if (is_iterable($this->body)) {
            $this->body = $this->bodyToString();
        }
        $this->_headers = $this->getHeaders();
        return [
            '_headers',
            'body',
            'type',
            'subtype',
            'parameters',
        ];
    }
    public function __wakeup() : void {
        $r = new \ReflectionProperty(AbstractPart::class, 'headers');
        $r->setValue($this, $this->_headers);
        unset($this->_headers);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
AbstractPart::$headers private property
AbstractPart::asDebugString public function 2
AbstractPart::getHeaders public function
AbstractPart::toIterable public function
AbstractPart::toString public function
SMimePart::$_headers protected property @internal
SMimePart::bodyToIterable public function Overrides AbstractPart::bodyToIterable
SMimePart::bodyToString public function Overrides AbstractPart::bodyToString
SMimePart::getMediaSubtype public function Overrides AbstractPart::getMediaSubtype
SMimePart::getMediaType public function Overrides AbstractPart::getMediaType
SMimePart::getPreparedHeaders public function Overrides AbstractPart::getPreparedHeaders
SMimePart::__construct public function Overrides AbstractPart::__construct
SMimePart::__sleep public function
SMimePart::__wakeup public function

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal