From 2bde5b77ee7a3e4973a8d2d81f15b73167e63daf Mon Sep 17 00:00:00 2001 From: Graham Campbell Date: Wed, 25 Dec 2019 15:08:02 +0000 Subject: [PATCH] [6.x] Speed up runningInConsole method (#30922) * Speed up runningInConsole method * Skip looking up the env variable on each call * Update Application.php Co-authored-by: Taylor Otwell --- src/Illuminate/Foundation/Application.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/Illuminate/Foundation/Application.php b/src/Illuminate/Foundation/Application.php index 1d61dc6928ee..752940fa3250 100755 --- a/src/Illuminate/Foundation/Application.php +++ b/src/Illuminate/Foundation/Application.php @@ -131,6 +131,13 @@ class Application extends Container implements ApplicationContract, HttpKernelIn */ protected $environmentFile = '.env'; + /** + * Indicates if the application is running in the console. + * + * @var bool|null + */ + protected $isRunningInConsole; + /** * The application namespace. * @@ -551,11 +558,11 @@ public function detectEnvironment(Closure $callback) */ public function runningInConsole() { - if (Env::get('APP_RUNNING_IN_CONSOLE') !== null) { - return Env::get('APP_RUNNING_IN_CONSOLE') === true; + if ($this->isRunningInConsole === null) { + $this->isRunningInConsole = Env::get('APP_RUNNING_IN_CONSOLE') ?? (\PHP_SAPI === 'cli' || \PHP_SAPI === 'phpdbg'); } - return php_sapi_name() === 'cli' || php_sapi_name() === 'phpdbg'; + return $this->isRunningInConsole; } /**