Repository URL to install this package:
|
Version:
6.2.1 ▾
|
<?php
namespace DigitalAscetic\MailBundle\DependencyInjection;
use DigitalAscetic\MailBundle\Service\MainMailService;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\DependencyInjection\Definition;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;
use Symfony\Component\DependencyInjection\Loader\XmlFileLoader;
use Symfony\Component\DependencyInjection\Reference;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\ContainerBuilder;
class DigitalAsceticMailExtension extends Extension implements PrependExtensionInterface
{
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
if ($config && $config['enabled']) {
$loader = new XmlFileLoader(
$container,
new FileLocator(__DIR__ . '/../../config')
);
$loader->load('services.xml');
$mailProviders = array();
if ($config && $config['providers']) {
foreach ($config['providers'] as $key => $provider) {
$mailProviders[$key] = new Reference($provider);
}
}
$mailService = new Definition(MainMailService::class);
$mailService->addArgument($mailProviders);
$container->setDefinition(MainMailService::SERVICE_NAME, $mailService);
$container->setAlias(MainMailService::class, MainMailService::SERVICE_NAME);
}
}
/**
* Allow an extension to prepend the extension configurations.
*
* @param ContainerBuilder $container
*/
public function prepend(ContainerBuilder $container)
{
}
}