# Console Spinners Spinners for the console. ## Install Recommended is to install using composer. Add the repository to your global `~/.config/composer/config.json` file: ``` { "repositories": [ { "type": "composer", "url": "https://dev.noccylabs.info/api/packages/noccy/composer" } ] } ``` Then add the package as a dependency: ``` $ composer require noccylabs/spinner ``` ## Usage ```php use NoccyLabs\Spinner\Spinner; use NoccyLabs\Spinner\Style; // Create a spinner with default options $spinner = new Spinner(); // Set the default options, will apply to everything created after Spinner::setDefaultStyle(Style\BrailleDotStyle::class); Spinner::setDefaultFps(10); $spinner = new Spinner(); // Or create a custom spinner $spinner = new Spinner(MyCustomSpinnerStyle::class); $spinner = new Spinner(FancyStyle::class, fps:20); // String casting hides all the magic! Just cast the spiner to a string, // and the frames will advance to match the framerate as long as it is // rendered at least as often as its set framerate while(true) { echo "\r $spinner "; usleep(10000); } ``` ### Included styles Style | Width | Notes ---|---|--- `BrailleDotStyle` | 1 | A snake chasing its tail, new "docker compose" style `RollingBallStyle` | 1 | A rolling ball, "symfony new" style `SpinnerStyle` | 2 | four-part spinner, 2 characters wide