Beberlei\Bundle\MetricsBundle\DependencyInjection\BeberleiMetricsExtension::load PHP Method

load() public method

public load ( array $configs, ContainerBuilder $container )
$configs array
$container Symfony\Component\DependencyInjection\ContainerBuilder
    public function load(array $configs, ContainerBuilder $container)
    {
        $configuration = $this->getConfiguration($configs, $container);
        $config = $this->processConfiguration($configuration, $configs);
        $loader = new XmlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config'));
        $loader->load('metrics.xml');
        foreach ($config['collectors'] as $name => $colConfig) {
            $definition = $this->createCollector($colConfig['type'], $colConfig);
            $container->setDefinition('beberlei_metrics.collector.' . $name, $definition);
        }
        if (!$config['default'] && 1 === count($config['collectors'])) {
            $container->setAlias('beberlei_metrics.collector', 'beberlei_metrics.collector.' . $name);
        } elseif ($container->hasDefinition('beberlei_metrics.collector.' . $config['default'])) {
            $container->setAlias('beberlei_metrics.collector', 'beberlei_metrics.collector.' . $config['default']);
        } else {
            throw new \LogicException('You should select a default collector');
        }
    }

Usage Example

 private function createContainer($configs)
 {
     $container = new ContainerBuilder();
     $extension = new BeberleiMetricsExtension();
     $extension->load(array($configs), $container);
     // Needed for logger collector
     $container->setDefinition('logger', new Definition('Psr\\Log\\NullLogger'));
     $container->compile();
     return $container;
 }
All Usage Examples Of Beberlei\Bundle\MetricsBundle\DependencyInjection\BeberleiMetricsExtension::load
BeberleiMetricsExtension