28 lines
833 B
PHP
28 lines
833 B
PHP
<?php
|
|
|
|
namespace App\DependencyInjection;
|
|
|
|
use App\Pdo\PdoRequest;
|
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
|
use Symfony\Component\DependencyInjection\Extension\Extension;
|
|
|
|
class PdoExtension extends Extension implements CompilerPassInterface
|
|
{
|
|
/** @var array */
|
|
protected $pdoConfig;
|
|
|
|
public function load(array $configs, ContainerBuilder $container)
|
|
{
|
|
$configuration = new PdoConfiguration();
|
|
$config = $this->processConfiguration($configuration, $configs);
|
|
$this->pdoConfig = $config;
|
|
}
|
|
|
|
public function process(ContainerBuilder $container)
|
|
{
|
|
$definition = $container->getDefinition(PdoRequest::class);
|
|
$definition->replaceArgument('$config', $this->pdoConfig);
|
|
}
|
|
}
|