symfony获取容器不在控制器中,没有服务

时间:2016-11-08 13:32:16

标签: symfony terminal containers

我遇到了从终端发送文件的类函数的问题。它看到了:

terminal: // php src/AppBundle/Provider/CommissionCost.php test.csv 
在CommissionCost中我只希望在Parser / CommissionDataParser.php中将数据放到我的函数中

    global $kernel;

    $data = $kernel->getContainer()->get('data.parser')->getData($argv[1]);

    var_dump($data);
//Uncaught Error: Call to a member function getContainer() on null  
// this example i see in stackoverflow in topic about container : )

服务:

 services:
   data.parser:
          class: AppBundle\Parser\CommissionDataParser
          arguments: ["@doctrine.orm.entity_manager"]

1 个答案:

答案 0 :(得分:0)

您需要在configure方法中添加:

$this->addArgument('arg1', InputArgument::REQUIRED, 'Your first arg');

然后,您可以通过以下方式在execute方法中访问它:

$input->getArgument('arg1');