[Laravel] 作成したコマンドを$commandsに追加する必要はない?(Kernel.php)

スポンサーリンク

概要

少し古い内容になるが、メモとして残しておく。

Laravel5.4まではphp artisan make:command Xxxで作成したコマンドは、app/Console/Kernel.phpの$commands配列に追加する必要があった。

protected $commands = [
    Commands\Xxx::class
];

Laravel5.5からはapp/Console/Commandsディレクトリ内にコマンドクラスを作成すると、自動的に読み込まれるようになった。そのため、$commands配列への追加は不要である。

$commandsへの追加が不要になった理由

app/Console/Kernel.phpのcommandsメソッドで、loadメソッドを使ってクラスが読み込まれるようになったため。

protected function commands()
{
    $this->load(__DIR__.'/Commands');
    $this->load(__DIR__.'/MoreCommands');
}

参考サイト

コメント