Вход Регистрация
Файл: vendor/symfony/mailer/Transport/AbstractTransportFactory.php
Строк: 89
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace SymfonyComponentMailerTransport;

use 
PsrEventDispatcherEventDispatcherInterface;
use 
PsrLogLoggerInterface;
use 
SymfonyComponentMailerExceptionIncompleteDsnException;
use 
SymfonyContractsHttpClientHttpClientInterface;

/**
 * @author Konstantin Myakshin <molodchick@gmail.com>
 */
abstract class AbstractTransportFactory implements TransportFactoryInterface
{
    protected 
$dispatcher;
    protected 
$client;
    protected 
$logger;

    public function 
__construct(EventDispatcherInterface $dispatcher nullHttpClientInterface $client nullLoggerInterface $logger null)
    {
        
$this->dispatcher $dispatcher;
        
$this->client $client;
        
$this->logger $logger;
    }

    public function 
supports(Dsn $dsn): bool
    
{
        return 
in_array($dsn->getScheme(), $this->getSupportedSchemes());
    }

    abstract protected function 
getSupportedSchemes(): array;

    protected function 
getUser(Dsn $dsn): string
    
{
        
$user $dsn->getUser();
        if (
null === $user) {
            throw new 
IncompleteDsnException('User is not set.');
        }

        return 
$user;
    }

    protected function 
getPassword(Dsn $dsn): string
    
{
        
$password $dsn->getPassword();
        if (
null === $password) {
            throw new 
IncompleteDsnException('Password is not set.');
        }

        return 
$password;
    }
}
Онлайн: 0
Реклама