Laravel Console Spinner was created by Rahul Dey. It is just a custom Progress Bar inspired by icanhazstring/symfony-console-spinner.
Requires PHP 7.3+
Via Composer:
composer require rahul900day/laravel-console-spinnerYou can publish the config file with:
php artisan vendor:publish --tag=console-spinner-configThis is the contents of the published config file:
return [
'chars' => ['⠏', '⠛', '⠹', '⢸', '⣰', '⣤', '⣆', '⡇'],
];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...');This package is released under the MIT license.