Quantcast
Channel: 一言多いプログラマーの独り言
Viewing all articles
Browse latest Browse all 846

Laravel5.4のコンソールでプログレスバー(Progress Bars)

$
0
0
Laravel5.4コンソールでプログレスバー(Progress Bars)です。これ面白い。プロフェッショナルな仕上がりになります(笑)。

実際に表示されるプログレスバー(Progress Bars)

28/200 [===>------------------------] 14% 3 secs/21 secs 10.0 MiB
155/200 [=====================>------] 77% 16 secs/21 secs 10.0 MiB
200/200 [============================] 100% 20 secs/20 secs 10.0 MiB
/app/Console/Commands/MyTestCommand.php

public function handle()
{
$users = User::all(['name', 'email'])->toArray();

// プログレスバー
$bar = $this->output->createProgressBar(count($users));

// プログレスバーのフォーマット
$bar->setFormat(' %current%/%max% [%bar%] %percent:3s%% %elapsed:6s%/%estimated:-6s% %memory:6s%');

// 処理前の表示
$bar->setEmptyBarCharacter('-');

// 処理後の表示
$bar->setBarCharacter('=>');

// 処理中の表示
$bar->setProgressCharacter(">");

// テーブルのヘッダ
$headers = ['Name', 'Email'];

foreach ($users as $user) {
usleep(10000);
// 実際の処理
// $this->performTask($user);
$bar->advance();
}

print "\n" ;

// テーブル描画
$this->table($headers, $users);

$bar->finish();
print "\n" ;

}

参考サイト
Artisan Console(Laravel)
Progress Bar (Symfony)
Laravelでコマンドラインアプリケーションを作成する(Qiita)
Fun with Symfony's Console Component(KnpUniversityさん)
Laravel5.4でコマンド作成(Writing Commands)

Viewing all articles
Browse latest Browse all 846

Latest Images

Trending Articles