aeno / php-slickprogress
轻量级但美观的 CLI 进度条和旋转器
1.0.1
2021-06-17 11:20 UTC
Requires
- php: ^7.1||^7.2||^7.3||^7.4||^8.0
Requires (Dev)
- vimeo/psalm: ^4.4
README
轻量级但美观的 PHP 进度条和旋转器。
无依赖项
- 与 PHP 7.1+ 兼容
安装
composer require aeno/php-slickprogress
用法
简单进度
$progress = new \Aeno\SlickProgress\Progress(); $progress->start(50); for ($i = 0; $i < 50; $i++) { $progress->advance(); usleep(25000); } $progress->finish();
详细进度
$theme = new \Aeno\SlickProgress\Theme\Simple(); $theme->showStep(true); $theme->showPercent(true); $progress = new \Aeno\SlickProgress\Progress($theme); $progress->start(200); for ($i = 0; $i < 200; $i++) { $progress->advance(); usleep(25000); } $progress->finish();
无限进度
$progress = new \Aeno\SlickProgress\Progress(); $progress->start(-1); for ($i = 0; $i < 200; $i++) { $progress->advance(); usleep(25000); } $progress->finish();
旋转器
$foobar = new \Foobar(); // your business logic $theme = new \Aeno\SlickProgress\Theme\Snake(); $theme->setColorType(\Aeno\SlickProgress\Colors::COLOR_TYPE_ANSI256); $progress = new \Aeno\SlickProgress\Progress($theme); $progress->start(-1); for ($i = 0; $i < 100; $i++) { if ($foobar->hasNewStatus()) { $progress->setStatusMessage($foobar->getCurrentStatus()); } $progress->advance(); usleep(50000); } $progress->finish(\Aeno\SlickProgress\ThemeInterface::FINISH_TYPE_MESSAGE, '✅ Done!');
许可证
php-slickprogress 使用 Mozilla 公共许可证,版本 2.0 许可。