@@ -14,17 +14,11 @@ class TransportFactory
1414{
1515 public const DEFAULT = 'memory://memory ' ;
1616
17- /**
18- * @var Container
19- */
20- private $ container ;
21-
2217 /**
2318 * @param Container $container
2419 */
25- public function __construct (Container $ container )
20+ public function __construct (private Container $ container )
2621 {
27- $ this ->container = $ container ;
2822 }
2923
3024 /**
@@ -41,7 +35,7 @@ public function default(): Transport
4135 *
4236 * @return Transport
4337 */
44- public function create (string $ key , $ config ): Transport
38+ public function create (string $ key , string | array $ config ): Transport
4539 {
4640 if (is_array ($ config ) && array_key_exists ('url ' , $ config )) {
4741 return $ this ->createFromUrl ($ config ['url ' ], $ config ['options ' ] ?? []);
@@ -72,13 +66,10 @@ public function create(string $key, $config): Transport
7266 */
7367 private function createFromUrl (string $ url , array $ options = []): Transport
7468 {
75- switch (parse_url ($ url , PHP_URL_SCHEME )) {
76- case 'amqp ' :
77- return AMQPTransport::create ($ url , $ options );
78- case 'memory ' :
79- return new Transport \MemoryTransport ();
80- default :
81- throw new Exception \BadTransportException ($ url );
82- }
69+ return match (parse_url ($ url , PHP_URL_SCHEME )) {
70+ 'amqp ' => AMQPTransport::create ($ url , $ options ),
71+ 'memory ' => new Transport \MemoryTransport (),
72+ default => throw new Exception \BadTransportException ($ url ),
73+ };
8374 }
8475}
0 commit comments