Laravel: コンソールコマンドとして実行されいているか判別
コントローラーのコンストラクターに処理を記述している場合に、 下記コマンドを実行するとコントローラーのコンストラクターに記述していた処理が実行されてしまう現象に遭遇しました。
php artisan route:list
それならばと、コンソールコマンドで実行されているかどうか判別して、コンソールコマンドの場合は処理を行わないようにする方向で実装する事にしました。
判定方法は下記の通りです。いずれも呼び出しているメソッドは同じみたいです。
appヘルパーを使う
app()->runningInConsole();
ファサードを使う
App::runningInConsole()
コントローラー内でappを参照する
$this->app->runningInConsole();