Magento 2で実際にカスタムコマンドを書きました。Magento 2コンソールアプリケーションは、誇らしげにsymfony Consoleによって提供されています。そして私の懸念は、特定のコマンドの出力を$output
からディセーブルにする方法です。例えばSymfony Consoleでコマンドの出力を無効にする方法は?
:
$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....
は残念ながら、でも私はまだそこに、このコマンドsetup:upgrade
の真、出力に--quiet
を設定します。
アイデア?
実際の出力ではなく、 'Symfony \ Component \ Console \ Output \ NullOutput'クラスを挿入してください。 – qooplmao
@ qooplmao私はあなたのソリューションが大好きです。それは完璧に働いています。 –