PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; try { self::$connection = new PDO( $dsn, $config['username'], $config['password'], $options ); } catch (PDOException $exception) { throw new \RuntimeException('Database connection failed: ' . $exception->getMessage()); } } return self::$connection; } }