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