diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 6fae299bf1d0..13f71071c649 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -733,7 +733,7 @@ function drupal_bootstrap($phase = NULL) { $boot_level = $phase; } - return \Drupal::getContainer() ? DRUPAL_BOOTSTRAP_CODE : DRUPAL_BOOTSTRAP_CONFIGURATION; + return \Drupal::hasContainer() ? DRUPAL_BOOTSTRAP_CODE : DRUPAL_BOOTSTRAP_CONFIGURATION; } /** diff --git a/core/lib/Drupal.php b/core/lib/Drupal.php index 34c641c0adf2..c3f2c903417a 100644 --- a/core/lib/Drupal.php +++ b/core/lib/Drupal.php @@ -123,6 +123,16 @@ class Drupal { return static::$container; } + /** + * Returns TRUE if the container has been initialized, FALSE otherwise. + * + * @return bool + */ + public static function hasContainer() { + return static::$container !== NULL; + } + + /** * Retrieves a service from the container. * @@ -149,7 +159,8 @@ class Drupal { * TRUE if the specified service exists, FALSE otherwise. */ public static function hasService($id) { - return static::$container && static::$container->has($id); + // Check hasContainer() first in order to always return a Boolean. + return static::hasContainer() && static::getContainer()->has($id); } /** @@ -168,7 +179,8 @@ class Drupal { * TRUE if there is a currently active request object, FALSE otherwise. */ public static function hasRequest() { - return static::$container && static::$container->has('request_stack') && static::$container->get('request_stack')->getCurrentRequest() !== NULL; + // Check hasContainer() first in order to always return a Boolean. + return static::hasContainer() && static::getContainer()->has('request_stack') && static::getContainer()->get('request_stack')->getCurrentRequest() !== NULL; } /**