"require": {
"php": "^7.3 || ^8.0"
}
$ composer require alecrabbit/php-cli-snakerequire_once __DIR__ . '/../vendor/autoload.php';
use AlecRabbit\Snake\Spinner;
use React\EventLoop\Factory;
$s = new Spinner();
$loop = Factory::create();
$loop->addPeriodicTimer($s->interval(), static function () use ($s) {
$s->spin();
});
$s->begin();
$loop->run();
$s->end();See examples
| Feature | php-console-spinner | php-cli-snake |
|---|---|---|
| Lightweight | ❌ ️ | ✔️ |
| Has zero dependencies | ❌ ️ | ✔️ |
| Highly configurable | ✔️ ️ | ❌ |
| Contains various spinner classes | ✔️ ️ | ❌ |
| Progress indicator | ✔️ ️ | ❌ |
| Messages indicator | ✔️ ️ | ❌ |
| Color settings for spinner | ✔️ ️ | ❌ |
| Color settings for messages | ✔️ ️ | ❌ |
| Color settings for progress indicator | ✔️ ️ | ❌ |
Has disable() method |
✔️ ️ | ❌ |
Has enable() method |
✔️ ️ | ❌ |
| Can show final message | ✔️ ️ | ❌ |
| Cursor hide can be disabled | ✔️ ️ | ❌ |
| Can use optional custom output | ✔️ ️ | ❌ |
Has erase() method |
✔️ ️ | ✔️ ️ |
Hides cursor with $spinner->begin() |
✔️ ️ | ✔️ ️ |
Shows cursor with $spinner->end() |
✔️ ️ | ✔️ ️ |
| Supports piping | ✔️ ️ | ✔️ ️ |
| Supports redirect | ✔️ ️ | ✔️ ️ |
Supports no color mode |
✔️ ️ | ✔️ ️ |
Supports 16 color mode |
✔️ ️ | ✔️ ️ |
Supports 256 color mode |
✔️ ️ | ✔️ ️ |

