From 5c22ac477278d3ff7b6b7b51bece99caae795dc4 Mon Sep 17 00:00:00 2001
From: catch <catch@35733.no-reply.drupal.org>
Date: Fri, 22 Mar 2024 14:37:49 +0000
Subject: [PATCH] Issue #3426789 by mondrake, smustgrave: DatabaseDriver::load
 should have a non-service alternative for class loading

---
 core/lib/Drupal/Core/Extension/DatabaseDriver.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/core/lib/Drupal/Core/Extension/DatabaseDriver.php b/core/lib/Drupal/Core/Extension/DatabaseDriver.php
index 24785766d10a..cb4e7a4a880c 100644
--- a/core/lib/Drupal/Core/Extension/DatabaseDriver.php
+++ b/core/lib/Drupal/Core/Extension/DatabaseDriver.php
@@ -90,7 +90,12 @@ public function getPath() {
    */
   public function load() {
     if (!isset($this->classLoader)) {
-      $this->classLoader = \Drupal::service('class_loader');
+      if (\Drupal::hasContainer() && \Drupal::hasService('class_loader')) {
+        $this->classLoader = \Drupal::service('class_loader');
+      }
+      else {
+        $this->classLoader = require DRUPAL_ROOT . '/autoload.php';
+      }
       $this->classLoader->addPsr4($this->getNamespace() . '\\', $this->getPath());
       foreach (($this->getAutoloadInfo()['dependencies'] ?? []) as $dependency) {
         $this->classLoader->addPsr4($dependency['namespace'] . '\\', $dependency['autoload']);
-- 
GitLab