diff --git a/core/includes/bootstrap.inc b/core/includes/bootstrap.inc index 9f46bb4129..9ec13c72c8 100644 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc @@ -502,6 +502,8 @@ function drupal_set_message($message = NULL, $type = 'status', $repeat = FALSE) * @deprecated in Drupal 8.5.0, will be removed before Drupal 9.0.0. * Use \Drupal::service('messenger')->getMessages() or * \Drupal::service('messenger')->getMessagesByType() instead. + * + * @see https://www.drupal.org/node/2774931 */ function drupal_get_messages($type = NULL, $clear_queue = TRUE) { /** @var \Drupal\Core\Messenger\MessengerInterface $messenger */ diff --git a/core/lib/Drupal/Core/Messenger/LegacyMessenger.php b/core/lib/Drupal/Core/Messenger/LegacyMessenger.php index 50a51e6b9e..722dfae1c2 100644 --- a/core/lib/Drupal/Core/Messenger/LegacyMessenger.php +++ b/core/lib/Drupal/Core/Messenger/LegacyMessenger.php @@ -118,7 +118,7 @@ public function deleteByType($type) { * @endcode * If there are no messages set, the function returns NULL. * - * @internal + * @internal */ private function setMessage($message = NULL, $type = 'status', $repeat = FALSE) { if (isset($message)) { @@ -138,7 +138,11 @@ private function setMessage($message = NULL, $type = 'status', $repeat = FALSE) } // Mark this page as being uncacheable. - \Drupal::service('page_cache_kill_switch')->trigger(); + // This function might be called early on in the installer, so we check + // whether the service exists. + if (\Drupal::hasService('page_cache_kill_switch')) { + \Drupal::service('page_cache_kill_switch')->trigger(); + } } // Messages not set when DB connection fails.