laravel怎么在CLI脚本中显示进度条和表格_laravel CLI脚本进度条与表格显示方法

laravel通过封装symfony console组件,提供进度条和表格输出功能。使用$this->withProgressBar()或createProgressBar()可显示处理进度,结合$this->table()方法能以ASCII表格展示数据,先输出待处理用户表格,再用进度条实时反馈执行情况,最后提示完成,提升CLI脚本交互性与可读性。

laravel怎么在CLI脚本中显示进度条和表格_laravel CLI脚本进度条与表格显示方法

Laravel 在 CLI 脚本中提供了强大的输出组件,可以轻松实现进度条和表格的显示。这些功能基于 Symfony Console 组件,Laravel 进行了封装,使用起来非常方便。

显示进度条

Laravel 的命令类中可以通过 $this->output 或辅助方法来创建进度条。使用 $this->withProgressBar() 或直接调用 progress bar 实例。

示例:在自定义命令中显示处理进度

$users = User::all();

$bar = $this->output->createProgressBar(count($users));

$bar->start();

foreach ($users as $user) {

  $user->update([‘status’ => ‘processed’]);

  sleep(1); // 模拟处理时间

  $bar->advance();

}

$bar->finish();

$this->info(”); // 换行输出完成信息

也可以使用更简洁的方式:

$this->withProgressBar($users, function ($user) {

  $user->update([‘status’ => ‘processed’]);

  sleep(1);

});

执行完成后,可添加完成提示:

$this->info(‘处理完成!’);

显示表格数据

Laravel 支持将数组数据以表格形式输出到命令行,适用于展示查询结果或统计数据。

laravel怎么在CLI脚本中显示进度条和表格_laravel CLI脚本进度条与表格显示方法

飞书多维表格

表格形态的ai工作流搭建工具,支持批量化的AI创作与分析任务,接入DeepSeek R1满血版

laravel怎么在CLI脚本中显示进度条和表格_laravel CLI脚本进度条与表格显示方法 26

查看详情 laravel怎么在CLI脚本中显示进度条和表格_laravel CLI脚本进度条与表格显示方法

使用 $this->table() 方法即可快速生成表格。

$headers = [‘ID’, ‘姓名’, ‘邮箱‘, ‘状态’];

$users = User::select(‘id’, ‘name’, ’email’, ‘status’)->take(5)->get()->toArray();

$this->table($headers, $users);

输出效果为整齐对齐的 ASCII 表格,适合查看结构化数据。

结合使用:边处理边显示表格摘要

有时需要先展示待处理数据,再显示进度。可以先输出表格,再运行进度条。

// 先显示将要处理的用户

$this->info(‘即将处理以下用户:’);

$this->table(

  [‘ID’, ‘姓名’, ‘邮箱’],

  User::select(‘id’, ‘name’, ’email’)->whereIn(‘status’, [‘pending’])->get()->toArray()

);

// 开始处理并显示进度

$pendingUsers = User::where(‘status’, ‘pending’)->get();

$this->withProgressBar($pendingUsers, function ($user) {

  $user->update([‘status’ => ‘done’]);

  sleep(1);

});

$this->info(‘全部完成!’);

基本上就这些。利用 Laravel 提供的 CLI 输出工具,可以让命令行脚本更直观、更友好。进度条和表格不仅提升体验,也便于调试和监控任务执行情况。

上一篇
下一篇
text=ZqhQzanResources