この記事はLaravelのJobやSeederなどでコンソールに出力するやり方を紹介します。
はじめに
Artisanコマンドを実行した際や、Seederなどでの途中経過などを出力したい際にecho
でもいいけど、赤字にしたり目立たせたい場合が時々あります。
そんな要望を解決するコマンドがLaravelには用意されています。
コンソールへの出力
コンソールへは色々な方法で出力できます。
基本
まずは、基本的なコマンドです。
$this->output->write('改行なし');
$this->output->writeln('最後に改行が追加されます');
PHP空行
単純に改行させたい場合です。
// 1行追加します
$this->newLine();
// 3行追加します
$this->newLine(3);
PHP色を付ける
テキストに色をつけることもできます。
$this->info('INFO');
$this->comment('COMMENT');
$this->question('QUESTION');
$this->error('ERROR');
PHP以下のように表示されます。
以下のようにタグで代用することもできます。
一部だけ色を変えたい場合にこちらを利用すると良いです。
//
$this->output->writeln('<info></info>');
$this->output->writeln('<comment></comment>');
$this->output->writeln('<question></question>');
$this->output->writeln('<error></error>');
PHPテーブル
データをテーブル状に表示することもできます。
$this->table(
['Name', 'Email'],
[
['Mike', 'mike@example.com'],
['Max', 'max@example.com'],
]
);
PHP以下のように表示されます。
プログレスバー
多量の処理をする場合に欲しいプログレスバー。
$max = 100000;
$bar = $this->output->createProgressBar($max);
$bar->start();
for ($i = 0 ; $i < $max ; $i++) {
$bar->advance();
}
$bar->finish();
$this->newLine();
PHP最後のnewLine()を付けないと、%表示の最後から表示されてしまいます。
まとめ
他にも入力をさせたり、注意書きを出したり色々とあるようです。
公式に記載されていないものもありそうなので、調べて更新していきたいと思います。
コメント