はじめに
Laravelでのアプリケーションがコンソールで実行されているかどうかを確認する方法についての解説記事です。
動作確認環境
PHP 8.0
Laravel 8.0
※下位環境でも動作する場合がございます
書き方(その1)
if (!$this->app->runningInConsole()) {
// コンソールでの実行時以外の時のみ通したい処理
}
書き方(その2)
if (!app()->runningInConsole()) {
// コンソールでの実行時以外の時のみ通したい処理
}
該当のLaravelのロジック
Illuminate\Foundation\Application
/**
* Determine if the application is running in the console.
*
* @return bool
*/
public function runningInConsole()
{
if ($this->isRunningInConsole === null) {
$this->isRunningInConsole = Env::get('APP_RUNNING_IN_CONSOLE') ?? (\PHP_SAPI === 'cli' || \PHP_SAPI === 'phpdbg');
}
return $this->isRunningInConsole;
}
↧