diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 6fae299bf1d0ea4d4cabb63a6d4fe4cfbe818b7e..13f71071c649e5a92aaa6a39c4f17692900c0cf4 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 34c641c0adf2d207f3d373bd18f07c85c0bc6ecb..c3f2c903417a81effe65fed61510acc5b34cd8a8 100644 --- a/core/lib/Drupal.php +++ b/core/lib/Drupal.php @@ -123,6 +123,16 @@ public static function getContainer() { 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 @@ public static function service($id) { * 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 @@ public static function root() { * 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; } /**