RahulDey12 / laravel-console-spinner by rahul900day

Laravel Console Spinner is a spinner output for Laravel command line.
70,055
76
3
Package Data
Maintainer Username: rahul900day
Maintainer Contact: rahul900day@gmail.com (Rahul Dey)
Package Create Date: 2021-08-24
Package Last Update: 2024-03-01
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-12-12 15:04:23
Package Statistics
Total Downloads: 70,055
Monthly Downloads: 5,332
Daily Downloads: 382
Total Stars: 76
Total Watchers: 3
Total Forks: 2
Total Open Issues: 0

Laravel Console Spinner

Laravel Console Spinner was created by Rahul Dey. It is just a custom Progress Bar inspired by icanhazstring/symfony-console-spinner.

StyleCI Status Total Downloads Version PHP Version Require

Installation

Requires PHP 7.3+

Via Composer:

composer require rahul900day/laravel-console-spinner

You can publish the config file with:

php artisan vendor:publish --tag=console-spinner-config

This is the contents of the published config file:

return [
    'chars' => ['⠏', '⠛', '⠹', '⢸', '⣰', '⣤', '⣆', '⡇'],
];

Usage

class SimpleLaravelCommand extends Command
{
    /**
     * Execute the console command.
     *
     * @return void
     */
    public function handle()
    {
        $spinner = $this->spinner($users->count());
        $spinner->setMessage('Loading...');
        $spinner->start();
        
        foreach ($users as $user) {
            // Do your stuff...
            
            $spinner->advance();
        }
        $spinner->finish();
    }
}

The $spinner is compatible with Symfony ProgressBar, so you can run any method of this class.

Or you can also use with withSpinner method by giving an iterable.

$this->withSpinner(User::all(), function($user) {
    // Do your stuff with $user
}, 'Loading...');

Licence

This package is released under the MIT license.