class RelatedPart
@author Fabien Potencier <fabien@symfony.com>
Hierarchy
- class \Symfony\Component\Mime\Part\AbstractPart
- class \Symfony\Component\Mime\Part\AbstractMultipartPart extends \Symfony\Component\Mime\Part\AbstractPart
- class \Symfony\Component\Mime\Part\Multipart\RelatedPart extends \Symfony\Component\Mime\Part\AbstractMultipartPart
- class \Symfony\Component\Mime\Part\AbstractMultipartPart extends \Symfony\Component\Mime\Part\AbstractPart
Expanded class hierarchy of RelatedPart
2 files declare their use of RelatedPart
- Email.php in vendor/
symfony/ mime/ Email.php - MessageConverter.php in vendor/
symfony/ mime/ MessageConverter.php
File
-
vendor/
symfony/ mime/ Part/ Multipart/ RelatedPart.php, line 20
Namespace
Symfony\Component\Mime\Part\MultipartView source
final class RelatedPart extends AbstractMultipartPart {
public function __construct(AbstractPart $mainPart, AbstractPart $part, AbstractPart ...$parts) {
$this->prepareParts($part, ...$parts);
parent::__construct($part, ...$parts);
}
public function getParts() : array {
return array_merge([
$this->mainPart,
], parent::getParts());
}
public function getMediaSubtype() : string {
return 'related';
}
private function generateContentId() : string {
return bin2hex(random_bytes(16)) . '@symfony';
}
private function prepareParts(AbstractPart ...$parts) : void {
foreach ($parts as $part) {
if (!$part->getHeaders()
->has('Content-ID')) {
$part->getHeaders()
->setHeaderBody('Id', 'Content-ID', $this->generateContentId());
}
}
}
}