dbConn = $dbConn; } private static function hash(string $query): string { return hash('xxh3', $query, true); } public function get(string $query): IDbStatement { $hash = self::hash($query); if(array_key_exists($hash, $this->stmts)) { $stmt = $this->stmts[$hash]; $stmt->reset(); return $stmt; } return $this->stmts[$hash] = $this->dbConn->prepare($query); } public function remove(string $query): void { unset($this->stmts[self::hash($query)]); } public function clear(): void { foreach($this->stmts as $stmt) $stmt->close(); $this->stmts = []; } }