Tôi cho rằng mọi ORM hiện đại đều dựa vào PDO vì đó là trình điều khiển cơ sở dữ liệu tiêu chuẩn.
Nếu bạn có tiện ích mở rộng MySQLi được kích hoạt thì bạn sẽ có thể viết PDO của riêng mình (IIRC MySQLi hỗ trợ mọi thứ mà PDO thực hiện).
if (extension_loaded('pdo_mysql') == false) {
class PDO {
protected $connection;
public function __construct($dsn, $username = null, $password = null, array $driver_options = array()) {
$this->connection = new MySQLi(...);
}
}
class PDOStatement { ... }
class PDOException extends RuntimeException { ... }
}
Bạn sẽ phải triển khai toàn bộ API PDO nhưng ít nhất nó sẽ hoạt động.