Получение контейнера службы в Symfony 2 Консольная команда дает «getKernel () для не-объекта»

В функции configure () я попытался получить контейнер службы

class SetQuotaCommand extends ContainerAwareCommand {

    protected function configure() {
        parent::configure();
        die(get_class($this->getContainer()));

Неустранимая ошибка PHP: вызов функции-члена getKernel () для не-объекта в. .. \ Symfony \ Bundle \ FrameworkBundle \ Command \ ContainerAwareCommand.php в строке 37

Нужно ли мне делать что-то другое?

ОБНОВЛЕНИЕ

Я заметил, что это работает, если я вызываю getContainer в execute () . Но мне интересно, возможно ли getContainer () в configure () . Я хочу получить параметр конфигурации для использования в ] addOption аргумент значения по умолчанию.

В противном случае я мог бы использовать

$param1 = $input->getOption('param1') ? : $container->getParameter('param1'); 

Что кажется более неинтуитивным?

12
задан Jiew Meng 5 January 2012 в 08:39
поделиться