在configure()
功能 「非對象getKernel()」,我試圖讓服務容器獲取服務容器中的Symfony 2控制檯命令給
class SetQuotaCommand extends ContainerAwareCommand {
protected function configure() {
parent::configure();
die(get_class($this->getContainer()));
PHP Fatal error: Call to a member function getKernel() on a non-object in ...\Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand.php on line 37
我需要做一些不同的事情嗎?
UPDATE
我注意到,它的作品,如果我在打電話getContainer
。但我不知道它是否可以在configure()
的getContainer()
。我想獲得一個配置參數,用於addOption
默認值參數。
否則我可以用
$param1 = $input->getOption('param1') ? : $container->getParameter('param1');
出現升技更多的非直觀?
我認爲問題在於你如何去做。基於配置值添加選項不是一個很好的解決方案。你到底想要達到什麼目標? – 2012-01-05 10:19:21
我想在parameters.ini中設置默認值。可通過應用程序和控制檯訪問的內容雖然在第二個想法,也許我可以逃脫硬編碼默認...嗯...我的做法雖然有什麼錯嗎? – 2012-01-05 14:24:57
對不起,我誤解了你想要達到的目標。你的做法沒有任何問題。我認爲唯一的解決方案可能是在'''configure()''''中將默認值設置爲'''''',然後在'''execute()'''中手動設置。 – 2012-01-08 17:59:58