Laravel php artisan вызывает ВСЕ пользовательские команды - PullRequest
0 голосов
/ 23 октября 2018

Я все еще использую Laravel 5.3.(Я скоро обновляюсь, но до сих пор застрял в этой версии).Я создал несколько команд и зарегистрировал их в моем файле kernal.php.Вот пример:

class Kernel extends ConsoleKernel
{
    protected $commands = [
        // one off commands
        Commands\Sproj\Command1::class,
        Commands\Sproj\Command2::class,
        Commands\Sproj\Command3::class,
        Commands\Sproj\Command4::class,

        // scheduled commands
        Commands\ScheduledCommand1::class,
        Commands\ScheduledCommand2::class,
        Commands\ScheduledCommand3::class,
    ];

    protected function schedule(Schedule $schedule)
    {
        $schedule->command('ScheduledCommand1')->dailyAt('14:00');
        $schedule->command('ScheduledCommand2')->dailyAt('15:00');
        $schedule->command('ScheduledCommand3')->dailyAt('16:00');
    }

    protected function commands()
    {
        require base_path('routes/console.php');
    }
}

Пример одной из команд:

class Command1 extends Command
{
    protected $signature = 'sproj:command1';
    protected $description = 'Command Example';

    public function __construct()
    {
        parent::__construct();
    }

    public function handle()
    {
        echo 'Do something here';
    }
}

Я хочу выполнить одну из команд 'one-off', и поэтому яиспользуя что-то вроде php artisan sproj:command1

Это работает, но также выполняет все остальные команды, которые я создал.Даже если я запускаю встроенную команду, такую ​​как php artisan cache:clear, все мои пользовательские команды выполняются

Я что-то не так делаю?

1 Ответ

0 голосов
/ 08 февраля 2019

Была такая же проблема.Моя проблема заключалась в том, что я делал вызовы в методе __construct() вместо метода handle().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...