alecrabbit / php-cli-snake
Lightweight cli spinner with zero dependencies
Fund package maintenance!
Patreon
Installs: 195 571
Dependents: 6
Suggesters: 0
Security: 0
Stars: 28
Watchers: 1
Forks: 2
Open Issues: 0
Requires
- php: ^7.3 || ^8.0
Requires (Dev)
- nunomaduro/collision: ^4.2
- phpunit/phpunit: ^9.5
- react/event-loop: ^1.1
- symfony/var-dumper: ^5.1
This package is auto-updated.
Last update: 2025-03-05 20:58:26 UTC
README
Lightweight cli snake spinner with zero dependencies
Zero dependencies
"require": {
"php": "^7.3 || ^8.0"
}
Installation
$ composer require alecrabbit/php-cli-snake
Quickstart
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();
Usage
See examples
Feature comparision
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 |
✔️ ️ | ✔️ ️ |