【发布时间】:2016-04-20 03:58:44
【问题描述】:
我编写了一个模块,实际上是 Magento 2 中的一个自定义命令。很明显,Magento 2 控制台应用程序由 Symfony 控制台 提供支持。我关心的是如何为指定命令禁用$output 的输出?
例如:
$setupUpgradeCommand = $this->getApplication()->find('setup:upgrade');
$setupUpgradeArguments = array(
'command' => 'setup:upgrade',
'--quiet' => true,
);
$setupUpgradeInput = new ArrayInput($setupUpgradeArguments);
$start = microtime(true);
$output->writeln('<info>Start upgrading module schemas...</info>');
$setupUpgradeCommand->run($setupUpgradeInput, $output);
$output->writeln('...............................<info>OK</info>');
// My long logic-code start from here....
不幸的是,即使我将 --quiet 设置为 true,此命令的输出 setup:upgrade 仍然存在。
有什么想法吗?
【问题讨论】:
-
插入
Symfony\Component\Console\Output\NullOutput类而不是实际输出。 -
@qooplmao 我很喜欢你的解决方案。它运行良好。
标签: php symfony magento symfony-console