Skip to content

Pdo V20 Extended Features Review

enum UserStatus: string { case Active = 'active'; case Inactive = 'inactive'; } $stmt = $pdo->prepare("SELECT status FROM users WHERE id = ?"); $stmt->execute([1]);

// New way: direct enum $status = $stmt->fetch(PDO::FETCH_ENUM); // UserStatus::Active pdo v20 extended features

$pdo = new class($dsn, $user, $pass) extends PDO { private ?PDO $connection = null; private function connect(): void { if (!$this->connection) { $this->connection = new PDO($this->dsn, ...); } } enum UserStatus: string { case Active = 'active';

public function prepare($query, $options = []) { $this->connect(); return $this->connection->prepare($query); } }; case Inactive = 'inactive'

$pdo->pgsqlGetNotify(PDO::FETCH_ASSOC, 5000); // wait 5ms for async notifications $pdo->pgsqlCopyFromArray('table', $data, "\t"); Modern SQLite extensions allow: