<?php namespace Leenooks\Commands; use Illuminate\Console\Command; use Illuminate\Console\Scheduling\Schedule; class ScheduleList extends Command { protected $signature = 'schedule:list'; protected $description = 'List when scheduled commands are executed.'; /** * @var Schedule */ protected $schedule; /** * ScheduleList constructor. * * @param Schedule $schedule */ public function __construct(Schedule $schedule) { parent::__construct(); $this->schedule = $schedule; } /** * Execute the console command. * * @return mixed */ public function handle() { $events = array_map(function ($event) { return [ 'cron' => $event->expression, 'command' => static::fixupCommand($event->command), ]; }, $this->schedule->events()); $this->table( ['Cron', 'Command'], $events ); } /** * If it's an artisan command, strip off the PHP * * @param $command * @return string */ protected static function fixupCommand($command) { $parts = explode(' ', $command); if (count($parts) > 2 && $parts[1] === "'artisan'") { array_shift($parts); } return implode(' ', $parts); } }