PhpBench\Extensions\Dbal\DbalExtension::load PHP Метод

load() публичный Метод

public load ( PhpBench\DependencyInjection\Container $container )
$container PhpBench\DependencyInjection\Container
    public function load(Container $container)
    {
        if (!class_exists(Version::class)) {
            throw new \RuntimeException('The DBAL extension requires the "doctrine/dbal" package. Run `composer require --dev "doctrine/dbal"`');
        }
        $container->register('storage.driver.dbal.connection', function (Container $container) {
            static $connection;
            if ($connection) {
                return $connection;
            }
            $params = $container->getParameter('storage.dbal.connection');
            if (isset($params['path'])) {
                $params['path'] = PhpBench::normalizePath($params['path']);
            }
            $connection = DriverManager::getConnection($params);
            return $connection;
        });
        $container->register('storage.driver.dbal.connection_manager', function (Container $container) {
            return new Storage\Driver\Dbal\ConnectionManager($container->get('storage.driver.dbal.connection'));
        });
        $container->register('storage.driver.dbal', function (Container $container) {
            return new Storage\Driver\DbalDriver($container->get('storage.driver.dbal.loader'), $container->get('storage.driver.dbal.persister'), $container->get('storage.driver.dbal.repository'));
        }, ['storage_driver' => ['name' => 'dbal']]);
        $container->register('storage.driver.dbal.persister', function (Container $container) {
            return new Storage\Driver\Dbal\Persister($container->get('storage.driver.dbal.connection_manager'));
        });
        $container->register('storage.driver.dbal.loader', function (Container $container) {
            return new Storage\Driver\Dbal\Loader($container->get('storage.driver.dbal.repository'));
        });
        $container->register('storage.driver.dbal.visitor.token_value', function (Container $container) {
            return new Storage\Driver\Dbal\Visitor\TokenValueVisitor($container->get('storage.uuid_resolver'));
        });
        $container->register('storage.driver.dbal.repository', function (Container $container) {
            return new Storage\Driver\Dbal\Repository($container->get('storage.driver.dbal.connection_manager'), $container->get('storage.driver.dbal.visitor.token_value'));
        });
        $container->register('command.dbal.migrate', function (Container $container) {
            return new MigrateCommand($container->get('storage.driver.dbal.connection'));
        }, ['console.command' => []]);
    }