Загрузите конфигурацию devel с помощью команды в Symfony2

У меня есть команда в Symfony2, и я хочу иметь возможность прочитать конфигурацию devel из config_dev.yml

Я пытаюсь получить конфиг в команде execute метод как это:

protected function execute(InputInterface $input, OutputInterface $output)
{
$this->getContainer()->getParameter('parse');
}

Но когда я выполняю команду:

$ php app/console acme:test

Это дает мне следующее сообщение об ошибке:

Нет расширения, способного загрузить конфигурацию для «acme»

Данные в config_dev.yml что я хочу получить:

acme:
foo:    "bar"

Команда расширяется containerAwareCommand:

class AcmeCommand extends containerAwareCommand

Есть предложения как этого добиться?

Обновить

Пример дерева конфигурации:

// src / Acme / ApiBundle / DependencyInjection / Configuration.php

public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('acme');

$rootNode
->children()
->scalarNode('foo')->end()
->end()
;

return $treeBuilder;
}

Пример расширения:

// src / Acme / ApiBundle / DependencyInjection / AcmeApiExtension.php

public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$container->setParameter('acme', $config);

$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.xml');

Пример config_dev.yml:

...
acme:
foo: "bar"

0

Решение

Если вы просто заинтересованы в хранении и получении произвольных данных из файла конфигурации, то вам следует сохранить их в parameters.yml, скорее, чем config_dev.yml,

Конфиг записи в parameters.yml разрешено быть в свободной форме, если они ниже parameters: ключ, тогда как входит в config*.yml файлы должны соответствовать структуре, определенной в конфигурации вашего пакета.

Вы должны определить ключи для данных, которые вы хотите сохранить в parameters.yml.dist во-первых, однако.

0

Другие решения

Вы определили дерево конфигурации как Вот?

0

По вопросам рекламы [email protected]