Пример #1
0
 public function build(Container $container)
 {
     foreach ($container->getServiceIdsForTag('progress_logger') as $serviceId => $attributes) {
         $progressLogger = $container->get($serviceId);
         $container->get('progress_logger.registry')->addProgressLogger($attributes['name'], $progressLogger);
     }
     foreach ($container->getServiceIdsForTag('report_generator') as $serviceId => $attributes) {
         $container->get('report.registry.generator')->registerService($attributes['name'], $serviceId);
     }
     foreach ($container->getServiceIdsForTag('report_renderer') as $serviceId => $attributes) {
         $container->get('report.registry.renderer')->registerService($attributes['name'], $serviceId);
     }
     foreach ($container->getServiceIdsForTag('benchmark_executor') as $serviceId => $attributes) {
         $container->get('benchmark.registry.executor')->registerService($attributes['name'], $serviceId);
     }
     $generatorConfigs = array_merge(require __DIR__ . '/config/report/generators.php', $container->getParameter('reports'));
     foreach ($generatorConfigs as $name => $config) {
         $container->get('report.registry.generator')->setConfig($name, $config);
     }
     $rendererConfigs = array_merge(require __DIR__ . '/config/report/renderers.php', $container->getParameter('outputs'));
     foreach ($rendererConfigs as $name => $config) {
         $container->get('report.registry.renderer')->setConfig($name, $config);
     }
     $executorConfigs = array_merge(require __DIR__ . '/config/benchmark/executors.php', $container->getParameter('executors'));
     foreach ($executorConfigs as $name => $config) {
         $container->get('benchmark.registry.executor')->setConfig($name, $config);
     }
     $this->relativizeConfigPath($container);
 }
Пример #2
0
 public function build(Container $container)
 {
     foreach ($container->getServiceIdsForTag('progress_logger') as $serviceId => $attributes) {
         $progressLogger = $container->get($serviceId);
         $container->get('progress_logger.registry')->addProgressLogger($attributes['name'], $progressLogger);
     }
     foreach ($container->getServiceIdsForTag('report_generator') as $serviceId => $attributes) {
         $reportGenerator = $container->get($serviceId);
         $container->get('report.manager')->addGenerator($attributes['name'], $reportGenerator);
     }
     foreach ($container->getServiceIdsForTag('report_renderer') as $serviceId => $attributes) {
         $reportRenderer = $container->get($serviceId);
         $container->get('report.manager')->addRenderer($attributes['name'], $reportRenderer);
     }
     foreach ($container->getParameter('reports') as $reportName => $report) {
         $container->get('report.manager')->addReport($reportName, $report);
     }
     foreach ($container->getParameter('outputs') as $outputName => $output) {
         $container->get('report.manager')->addOutput($outputName, $output);
     }
     $this->relativizeConfigPath($container);
 }
Пример #3
0
 private function registerStorage(Container $container)
 {
     $container->register('storage.driver_registry', function (Container $container) {
         $registry = new Registry('storage', $container, $container->getParameter('storage'));
         foreach ($container->getServiceIdsForTag('storage_driver') as $serviceId => $attributes) {
             $registry->registerService($attributes['name'], $serviceId);
         }
         return $registry;
     });
     $container->register('storage.archiver_registry', function (Container $container) {
         $registry = new Registry('archiver', $container, $container->getParameter('archiver'));
         foreach ($container->getServiceIdsForTag('storage_archiver') as $serviceId => $attributes) {
             $registry->registerService($attributes['name'], $serviceId);
         }
         return $registry;
     });
     $container->register('storage.driver.xml', function (Container $container) {
         return new XmlDriver($container->getParameter('xml_storage_path'), $container->get('serializer.encoder.xml'), $container->get('serializer.decoder.xml'));
     }, ['storage_driver' => ['name' => 'xml']]);
     $container->register('storage.uuid_resolver', function (Container $container) {
         return new UuidResolver($container->get('storage.driver_registry'));
     });
     $container->register('storage.archiver.xml', function (Container $container) {
         return new Storage\Archiver\XmlArchiver($container->get('storage.driver_registry'), $container->get('serializer.encoder.xml'), $container->get('serializer.decoder.xml'), $container->getParameter('archive_path'));
     }, ['storage_archiver' => ['name' => 'xml']]);
 }