From df1b627417ad6b47fba6fdfabdf82bb347beaa72 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Thu, 7 Mar 2019 21:44:01 +0100 Subject: [PATCH] [Mime] used yield-from when possible --- src/Symfony/Component/Mime/Message.php | 4 +--- src/Symfony/Component/Mime/Part/AbstractMultipartPart.php | 4 +--- src/Symfony/Component/Mime/Part/AbstractPart.php | 4 +--- src/Symfony/Component/Mime/Part/TextPart.php | 4 +--- src/Symfony/Component/Mime/RawMessage.php | 2 +- src/Symfony/Component/Mime/Tests/MessageTest.php | 4 ++-- 6 files changed, 7 insertions(+), 15 deletions(-) diff --git a/src/Symfony/Component/Mime/Message.php b/src/Symfony/Component/Mime/Message.php index f64ffebf83..43b5fe40c9 100644 --- a/src/Symfony/Component/Mime/Message.php +++ b/src/Symfony/Component/Mime/Message.php @@ -122,9 +122,7 @@ class Message extends RawMessage } yield $this->getPreparedHeaders()->toString(); - foreach ($body->toIterable() as $chunk) { - yield $chunk; - } + yield from $body->toIterable(); } private function generateMessageId(string $email): string diff --git a/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php b/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php index 76e3e49792..02023afd4f 100644 --- a/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php +++ b/src/Symfony/Component/Mime/Part/AbstractMultipartPart.php @@ -81,9 +81,7 @@ abstract class AbstractMultipartPart extends AbstractPart foreach ($parts as $part) { yield '--'.$this->getBoundary()."\r\n"; - foreach ($part->toIterable() as $chunk) { - yield $chunk; - } + yield from $part->toIterable(); yield "\r\n"; } yield '--'.$this->getBoundary()."--\r\n"; diff --git a/src/Symfony/Component/Mime/Part/AbstractPart.php b/src/Symfony/Component/Mime/Part/AbstractPart.php index 8b50eaca4b..29eaa1ebfd 100644 --- a/src/Symfony/Component/Mime/Part/AbstractPart.php +++ b/src/Symfony/Component/Mime/Part/AbstractPart.php @@ -49,9 +49,7 @@ abstract class AbstractPart { yield $this->getPreparedHeaders()->toString(); yield "\r\n"; - foreach ($this->bodyToIterable() as $chunk) { - yield $chunk; - } + yield from $this->bodyToIterable(); } abstract public function bodyToString(): string; diff --git a/src/Symfony/Component/Mime/Part/TextPart.php b/src/Symfony/Component/Mime/Part/TextPart.php index 323f62ecce..c02f00f855 100644 --- a/src/Symfony/Component/Mime/Part/TextPart.php +++ b/src/Symfony/Component/Mime/Part/TextPart.php @@ -118,9 +118,7 @@ class TextPart extends AbstractPart if (stream_get_meta_data($this->body)['seekable'] ?? false) { rewind($this->body); } - foreach ($this->getEncoder()->encodeByteStream($this->body) as $chunk) { - yield $chunk; - } + yield from $this->getEncoder()->encodeByteStream($this->body); } else { yield $this->getEncoder()->encodeString($this->body); } diff --git a/src/Symfony/Component/Mime/RawMessage.php b/src/Symfony/Component/Mime/RawMessage.php index a00bb094f9..790c7eea53 100644 --- a/src/Symfony/Component/Mime/RawMessage.php +++ b/src/Symfony/Component/Mime/RawMessage.php @@ -34,7 +34,7 @@ class RawMessage return $this->message; } - return $this->message = implode('', iterator_to_array($this->message)); + return $this->message = implode('', iterator_to_array($this->message, false)); } public function toIterable(): iterable diff --git a/src/Symfony/Component/Mime/Tests/MessageTest.php b/src/Symfony/Component/Mime/Tests/MessageTest.php index 888e77e245..dbeb0a5544 100644 --- a/src/Symfony/Component/Mime/Tests/MessageTest.php +++ b/src/Symfony/Component/Mime/Tests/MessageTest.php @@ -131,7 +131,7 @@ Content-Transfer-Encoding: quoted-printable EOF; $this->assertStringMatchesFormat($expected, str_replace("\r\n", "\n", $message->toString())); - $this->assertStringMatchesFormat($expected, str_replace("\r\n", "\n", implode('', iterator_to_array($message->toIterable())))); + $this->assertStringMatchesFormat($expected, str_replace("\r\n", "\n", implode('', iterator_to_array($message->toIterable(), false)))); $message = new Message(null, new TextPart('content')); $message->getHeaders()->addMailboxListHeader('From', ['fabien@symfony.com']); @@ -146,6 +146,6 @@ Content-Transfer-Encoding: quoted-printable content EOF; $this->assertStringMatchesFormat($expected, str_replace("\r\n", "\n", $message->toString())); - $this->assertStringMatchesFormat($expected, str_replace("\r\n", "\n", implode('', iterator_to_array($message->toIterable())))); + $this->assertStringMatchesFormat($expected, str_replace("\r\n", "\n", implode('', iterator_to_array($message->toIterable(), false)))); } }