Six03、先端に感謝!もちろん、私はそれを十分な答えと見なすことはできませんが、必要なすべての情報を見つけるのに役立ちました。
まず、あなたはContainerAwareCommandオブジェクトのプロパティとして文脈「フォーマッタ」でヘルパーを宣言する必要があります。
$formatter = $this->getHelper('formatter');
次にあなたがコンソールに表示されるコンテンツを持つ配列を宣言する必要があります。配列の各要素は、メッセージの新しい行です。次に、あなたはこのような宣言「フォーマッター」のブロックにあなたのメッセージや、あなたのスタイルを追加する必要があります。
$infoMessage = array('INFO:', 'Date interval is ' . $interval->format('%a') . ' days.');
$formattedInfoBlock = $formatter->formatBlock($infoMessage, 'info', TRUE);
あなたは第三引数としてtrueを渡すと、ブロックは上記よりパディング(1空白行でフォーマットされますメッセージの下に、左右に2つのスペースがあります)。 (Formatter Helper)
そして今、あなたが行うべきことは、すべてが「出力」オブジェクトに必要なデザインで、あなたのブロックを渡すことです:
/**
* Setting the console styles
*
* 'INFO' style
*/
$infoStyle = new OutputFormatterStyle('white', 'blue');
$output->getFormatter()->setStyle('info', $infoStyle);
/**
* 'SUCCESS' style
*/
$successStyle = new OutputFormatterStyle('white', 'green');
$output->getFormatter()->setStyle('success', $successStyle);
/**
* Declaring the formatter
*/
$formatter = $this->getHelper('formatter');
/**
* The output to the console
*/
$infoMessage = array('INFO:', 'Date interval is ' . $interval->format('%a') . ' days.');
$formattedInfoBlock = $formatter->formatBlock($infoMessage, 'info', TRUE);
$output->writeln($formattedInfoBlock);
:ここ
$output->writeln($formattedInfoBlock);
は、ステップによって、全体のコードステップであります
私のコマンドのメッセージは適切な種類です。