vendor/symfony/amqp-messenger/Transport/AmqpTransportFactory.php line 27

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the Symfony package.
  4.  *
  5.  * (c) Fabien Potencier <fabien@symfony.com>
  6.  *
  7.  * For the full copyright and license information, please view the LICENSE
  8.  * file that was distributed with this source code.
  9.  */
  10. namespace Symfony\Component\Messenger\Bridge\Amqp\Transport;
  11. use Symfony\Component\Messenger\Transport\Serialization\SerializerInterface;
  12. use Symfony\Component\Messenger\Transport\TransportFactoryInterface;
  13. use Symfony\Component\Messenger\Transport\TransportInterface;
  14. /**
  15.  * @author Samuel Roze <samuel.roze@gmail.com>
  16.  */
  17. class AmqpTransportFactory implements TransportFactoryInterface
  18. {
  19.     public function createTransport(string $dsn, array $optionsSerializerInterface $serializer): TransportInterface
  20.     {
  21.         unset($options['transport_name']);
  22.         return new AmqpTransport(Connection::fromDsn($dsn$options), $serializer);
  23.     }
  24.     public function supports(string $dsn, array $options): bool
  25.     {
  26.         return === strpos($dsn'amqp://') || === strpos($dsn'amqps://');
  27.     }
  28. }
  29. if (!class_exists(\Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory::class, false)) {
  30.     class_alias(AmqpTransportFactory::class, \Symfony\Component\Messenger\Transport\AmqpExt\AmqpTransportFactory::class);
  31. }