trait TransportServiceFactoryTrait

A trait containing helper methods for transport service construction.

Hierarchy

File

core/lib/Drupal/Core/Mailer/TransportServiceFactoryTrait.php, line 14

Namespace

Drupal\Core\Mailer
View source
trait TransportServiceFactoryTrait {
  
  /**
   * A list of transport factories.
   *
   * @var Iterable<TransportFactoryInterface>
   */
  protected iterable $factories;
  
  /**
   * Constructs a transport instance given a DSN object.
   *
   * @param \Symfony\Component\Mailer\Transport\Dsn $dsn
   *   The mailer DSN object.
   *
   * @throws \Symfony\Component\Mailer\Exception\IncompleteDsnException
   * @throws \Symfony\Component\Mailer\Exception\UnsupportedSchemeException
   */
  protected function fromDsnObject(Dsn $dsn) : TransportInterface {
    foreach ($this->factories as $factory) {
      if ($factory->supports($dsn)) {
        return $factory->create($dsn);
      }
    }
    throw new UnsupportedSchemeException($dsn);
  }

}

Members

Title Sort descending Modifiers Object type Summary
TransportServiceFactoryTrait::$factories protected property A list of transport factories.
TransportServiceFactoryTrait::fromDsnObject protected function Constructs a transport instance given a DSN object.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.