PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => false, ]; $this->connection = new PDO($dsn, DB_USER, DB_PASS, $options); } catch (PDOException $e) { die("Błąd połączenia z bazą danych: " . $e->getMessage()); } } public static function getInstance() { if (self::$instance === null) { self::$instance = new self(); } return self::$instance; } public function getConnection() { return $this->connection; } // Zapobieganie klonowaniu private function __clone() {} // Zapobieganie deserializacji public function __wakeup() { throw new Exception("Nie można deserializować singletona"); } } // Inicjalizacja połączenia function getDB() { return Database::getInstance()->getConnection(); } ?>