PhpBench\Extension\CoreExtension::registerRegistries PHP Method

registerRegistries() private method

private registerRegistries ( PhpBench\DependencyInjection\Container $container )
$container PhpBench\DependencyInjection\Container
    private function registerRegistries(Container $container)
    {
        foreach (['generator' => 'reports', 'renderer' => 'outputs'] as $registryType => $optionName) {
            $container->register('report.registry.' . $registryType, function (Container $container) use($registryType, $optionName) {
                $registry = new ConfigurableRegistry($registryType, $container, $container->get('json.decoder'));
                foreach ($container->getServiceIdsForTag('report_' . $registryType) as $serviceId => $attributes) {
                    $registry->registerService($attributes['name'], $serviceId);
                }
                $configs = array_merge(require __DIR__ . '/config/report/' . $registryType . 's.php', $container->getParameter($optionName));
                foreach ($configs as $name => $config) {
                    $registry->setConfig($name, $config);
                }
                return $registry;
            });
        }
        $container->register('benchmark.registry.executor', function (Container $container) {
            $registry = new ConfigurableRegistry('executor', $container, $container->get('json.decoder'));
            foreach ($container->getServiceIdsForTag('benchmark_executor') as $serviceId => $attributes) {
                $registry->registerService($attributes['name'], $serviceId);
            }
            $executorConfigs = array_merge(require __DIR__ . '/config/benchmark/executors.php', $container->getParameter('executors'));
            foreach ($executorConfigs as $name => $config) {
                $registry->setConfig($name, $config);
            }
            return $registry;
        });
    }