File tree Expand file tree Collapse file tree 7 files changed +49
-10
lines changed
src/Symfony/Component/Notifier Expand file tree Collapse file tree 7 files changed +49
-10
lines changed Original file line number Diff line number Diff line change @@ -77,7 +77,7 @@ public function getOptions(): ?MessageOptionsInterface
7777 /**
7878 * @return $this
7979 */
80- public function transport (?string $ transport ): MessageInterface
80+ public function transport (?string $ transport ): self
8181 {
8282 $ this ->transport = $ transport ;
8383
Original file line number Diff line number Diff line change @@ -102,7 +102,7 @@ public function getOptions(): ?MessageOptionsInterface
102102 /**
103103 * @return $this
104104 */
105- public function transport (string $ transport ): MessageInterface
105+ public function transport (string $ transport ): self
106106 {
107107 if (!$ this ->message instanceof Email) {
108108 throw new LogicException ('Cannot set a Transport on a RawMessage instance. ' );
Original file line number Diff line number Diff line change @@ -25,6 +25,4 @@ public function getSubject(): string;
2525 public function getOptions (): ?MessageOptionsInterface ;
2626
2727 public function getTransport (): ?string ;
28-
29- public function transport (string $ transport ): self ;
3028}
Original file line number Diff line number Diff line change 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+ declare (strict_types=1 );
13+
14+ namespace Symfony \Component \Notifier \Message ;
15+
16+ final class NullMessage implements MessageInterface
17+ {
18+ private $ decoratedMessage ;
19+
20+ public function __construct (MessageInterface $ message )
21+ {
22+ $ this ->decoratedMessage = $ message ;
23+ }
24+
25+ public function getRecipientId (): ?string
26+ {
27+ return $ this ->decoratedMessage ->getRecipientId ();
28+ }
29+
30+ public function getSubject (): string
31+ {
32+ return $ this ->decoratedMessage ->getSubject ();
33+ }
34+
35+ public function getOptions (): ?MessageOptionsInterface
36+ {
37+ return $ this ->decoratedMessage ->getOptions ();
38+ }
39+
40+ public function getTransport (): ?string
41+ {
42+ return $ this ->decoratedMessage ->getTransport () ?? 'null ' ;
43+ }
44+ }
Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ public function getSubject(): string
8383 /**
8484 * @return $this
8585 */
86- public function transport (string $ transport ): MessageInterface
86+ public function transport (string $ transport ): self
8787 {
8888 $ this ->transport = $ transport ;
8989
Original file line number Diff line number Diff line change 1515use Symfony \Component \EventDispatcher \LegacyEventDispatcherProxy ;
1616use Symfony \Component \Notifier \Event \MessageEvent ;
1717use Symfony \Component \Notifier \Message \MessageInterface ;
18+ use Symfony \Component \Notifier \Message \NullMessage ;
1819use Symfony \Component \Notifier \Message \SentMessage ;
1920use Symfony \Contracts \EventDispatcher \EventDispatcherInterface ;
2021
@@ -34,9 +35,7 @@ public function __construct(EventDispatcherInterface $dispatcher = null)
3435
3536 public function send (MessageInterface $ message ): SentMessage
3637 {
37- if (null === $ message ->getTransport ()) {
38- $ message ->transport ((string ) $ this );
39- }
38+ $ message = new NullMessage ($ message );
4039
4140 if (null !== $ this ->dispatcher ) {
4241 $ this ->dispatcher ->dispatch (new MessageEvent ($ message ));
Original file line number Diff line number Diff line change @@ -57,8 +57,6 @@ public function send(MessageInterface $message): SentMessage
5757 if (!$ transport = $ message ->getTransport ()) {
5858 foreach ($ this ->transports as $ transportName => $ transport ) {
5959 if ($ transport ->supports ($ message )) {
60- $ message ->transport ($ transportName );
61-
6260 return $ transport ->send ($ message );
6361 }
6462 }
You can’t perform that action at this time.
0 commit comments