【发布时间】:2015-01-09 01:00:48
【问题描述】:
我有一个使用 Symfony 控制台组件的简单控制台应用程序。
我有两个可以轻松独立调用的命令(例如,cmdOne 和 cmdTwo)。
$ myApp.php cmdOne
$ myApp.php cmdTwo
这两个命令都有大量输出,我可以通过发出-q 选项轻松地将其静音。
现在,我希望cmdOne 致电cmdTwo,但我希望cmdTwo 保持安静。我并没有试图做任何疯狂的事情,但是尽管阅读了文档,但我仍在努力实现目标。
到目前为止,这是我的示例代码(此 sn-p 将包含在 cmdOne->execute() 中):
$command = $this->getApplication()->find('cmdTwo');
$input = new ArrayInput(array(
'command' => 'cmdTwo',
'-q' => true
));
$returnCode = $command->run($input, $output);
这运行良好,就像代码命令执行时一样,但是我不想显示控制台上的输出(由cmdTwo 生成)。
是否无法指定 -q 选项,因为它是“保留的”(即不是由开发人员创建的),还是我遗漏了一些明显的东西?
【问题讨论】:
标签: php symfony console-application