【发布时间】:2011-11-22 16:02:55
【问题描述】:
我想对我的 Symfony2 应用程序执行一些终端命令。我已经浏览了example in the cookbook,但在这里我找不到如何访问我的设置、我的实体管理器和我的实体。在构造函数中,我使用
获取容器(这应该让我可以访问设置和实体)$this->container = $this->getContainer();
但是这个调用会产生错误:
致命错误:在线调用/Users/fester/Sites/thinkblue/admintool/vendor/symfony/src/Symfony/Bundle/FrameworkBundle/Command/ContainerAwareCommand.php中非对象的成员函数getKernel() 38
基本上,在 ContainerAwareCommand->getContainer() 中调用
$this->getApplication()
返回 NULL 而不是预期的对象。我想我遗漏了一些重要的步骤,但是哪一个?我最终将如何使用我的设置和实体?
【问题讨论】:
-
我遇到了同样的错误(我尝试在
MyCommand->execute()内部访问getContainer(),但仍然遇到同样的致命错误。我的CommandTest extends \PHPUnit_Framework_Testcase和我通过phpunit -c app src/CompanyName/MyBundle/Tests/Commands/MyCommandTest.phpany 运行它想法有什么问题?