PhpBench\Registry\ConfigurableRegistry::setConfig PHP Метод

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

Note that all configurations must be associated with a named service via a configuration key equal to the configuration service type of this registry.
public setConfig ( string $name, array $config )
$name string
$config array
    public function setConfig($name, array $config)
    {
        if (isset($this->configs[$name])) {
            throw new \InvalidArgumentException(sprintf('%s config "%s" already exists.', $this->serviceType, $name));
        }
        $this->configs[$name] = $config;
    }

Usage Example

Пример #1
0
 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;
     });
 }