[Laravel]Console出力系のCommand一覧

Laravel Laravel

この記事は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()を付けないと、%表示の最後から表示されてしまいます。

まとめ

他にも入力をさせたり、注意書きを出したり色々とあるようです。

公式に記載されていないものもありそうなので、調べて更新していきたいと思います。

コメント

タイトルとURLをコピーしました