I wanted to indiscriminately add all my configuration values to options like @acme, and writing dozens of lines setParameterwasn't lazy enough.
, setParameters Extension.
protected function setParameters(array $config, ContainerBuilder $container,
$namespace = null)
{
$namespace = (null === $namespace) ? $this->getAlias() : $namespace;
if (array_keys($config) !== range(0, count($config) - 1)) {
foreach ($config as $k => $v) {
$current = $namespace . '.' . $k;
if (is_array($v)) {
$this->setParameters($v, $container, $current);
} else {
$container->setParameter($current, $v);
}
}
} else {
$container->setParameter($namespace, $config);
}
}
:
class w9UserExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$this->setParameters($config, $container);
}
}
, / , , , , .
, .
, , , parameters:, , , .
.