"require": {
"php": "^7.3 || ^8.0"
}
$ composer require alecrabbit/php-cli-snake
require_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 |
✔️ ️ | ✔️ ️ |