legionth / reactphp-progressbar
使用ReactPHP创建进度条流的方法
v1.0.1
2019-10-30 21:37 UTC
Requires
- react/stream: ^1.0
Requires (Dev)
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-08-29 04:31:52 UTC
README
一个事件驱动的进度条流,可以添加到其他流中显示其当前进度。
目录
使用方法
此流可以像其他ReactPHP Stream一样集成
$loop = Factory::create(); $progressBarStream = new ProgressbarStream(); $input = new React\Stream\WritableResourceStream(STDOUT, $loop); $output = new React\Stream\ReadableResourceStream(STDIN, $loop); $output->pipe($progressBarStream); $progressBarStream->on('error', function ($errorMessage) { echo $errorMessage; }); $progressBarStream->on('data', function ($progressBarString) use ($input) { $input->write($progressBarString . PHP_EOL); }); $loop->addPeriodicTimer(1, function () use ($output) { $output->emit('data', array(1)); }); $loop->addPeriodicTimer(3, function () use ($output) { $output->emit('data', array(10)); }); $loop->run();
此示例将以每秒1个单位/百分比的速率,每3秒以10个单位/百分比的速率更新进度条。此示例可以在示例文件夹中找到。
进度条流永远不会超过最大值。如果当前值达到或超过最大值,则流将结束。
data-事件
data
事件包含进度条的可视化。此事件发射的数据是一个字符串。如果进度条更新,将发射此事件。
currentValue-事件
currentValue
事件包含当前进度条的整数值。如果进度条更新,将发射此事件。
maximumValue-事件
maximumValue
事件包含进度条最大可达值的整数值。如果进度条更新,将发射此事件。
安装
安装此库的推荐方法是通过Composer。对Composer不熟悉?新用户?
这将安装最新支持的版本
$ composer require legionth/progressbar:^1.0