我寫了一個模塊,實際上是Magento 2中的一個自定義命令。Magento 2控制檯應用程序很自豪地由供電,Symfony Console,顯然。我的關注點是如何禁用指定命令的輸出$output
?如何在Symfony控制檯中禁用命令的輸出?
例如:
$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
此命令setup:upgrade
的真實,輸出仍然存在。
任何想法?
插入'Symfony \ Component \ Console \ Output \ NullOutput'類而不是實際的輸出。 – qooplmao
@qooplmao我很喜歡你的解決方案。它的工作完美。 –