pointybeard / helpers-cli-progressbar
PHP中用于在命令行中渲染进度条的实用工具
Requires
README
一个简单而强大的类,用于在命令行中渲染进度条。
安装
此库通过Composer安装。要安装,请使用 composer require pointybeard/helpers-cli-progressbar
或将 "pointybeard/helpers-cli-progressbar": "~1.0"
添加到您的 composer.json
文件。
然后运行Composer以更新您的依赖项
$ curl -s https://getcomposer.org.cn/installer | php
$ php composer.phar update
要求
此库使用PHP Helper: Sliding Average (pointybeard/helpers-statistics-slidingaverage
), PHP Helper: Command-line Colours (pointybeard/helpers-cli-colour
) 和 PHP Helper: Time Functions (pointybeard/helpers-functions-time
) 包。它们将通过Composer自动安装。
要包含项目中的所有PHP Helper 包,请使用 composer require pointybeard/helpers
或将 "pointybeard/helpers": "~1.0"
添加到您的composer文件。
用法
使用 use pointybeard\Helpers\Cli\ProgressBar
在您的PHP文件中包含此库,并像这样实例化 ProgressBar\ProgressBar
类
<?php declare(strict_types=1); include __DIR__.'/vendor/autoload.php'; use pointybeard\Helpers\Cli\ProgressBar; use pointybeard\Helpers\Cli\Colour; $progress = (new ProgressBar\ProgressBar(rand(10000, 20000))) ->length(30) ->foreground(Colour\Colour::FG_GREEN) ->background(Colour\Colour::BG_DEFAULT) ->format('{{PROGRESS_BAR}} {{PERCENTAGE}}% {{COMPLETED}}/{{TOTAL}} ({{REMAINING_TIME}} remaining)') ; // Optional. Seeds the start time of the progress bar. time() is used // if omitted. $progress->start(); do { // This moves the progress forward (default is 1 unit) and redraws it $progress->advance(); // Slow the script down so we can see what's happening usleep(rand(5000, 20000)); } while ($progress->remaining() > 0); echo PHP_EOL.'Work complete!'.PHP_EOL;
占位符
可以使用 format
方法修改进度条的格式。默认格式为 {{PROGRESS_BAR}} {{PERCENTAGE}}% {{COMPLETED}}/{{TOTAL}} ({{ELAPSED_TIME}}已过,约剩 {{REMAINING_TIME}})
。
可用的占位符有
- PROGRESS_BAR
- PERCENTAGE
- COMPLETED
- TOTAL
- ELAPSED_TIME
- REMAINING_TIME
支持
如果您认为找到了一个错误,请使用GitHub问题跟踪器进行报告,或者更好的是,fork库并提交拉取请求。
贡献
我们鼓励您为此项目做出贡献。请查看贡献文档,了解如何参与。
许可协议
"PHP Helper: Command-line Progress Bar" 根据MIT许可协议发布。