Files
database/src/Define/Database/Connection.php
2025-09-30 17:28:15 -03:00

44 lines
917 B
PHP

<?php
namespace Database\Define\Database;
use PDO;
use PDOException;
use Database\Define\Query\Builder;
use Database\Exception\Database\InvalidQuery;
interface Connection
{
/**
* @return self
* @throws PDOException
*/
public function connect(): self;
public function getPDO(): PDO;
public function queryBuilder(): Builder;
public function transaction(): Transaction;
/**
* @param string $query
* @return ResultSet
* @throws InvalidQuery
*/
public function query(string $query): ResultSet;
/**
* @param string $query
* @return ResultSet
* @throws InvalidQuery
*/
public function prepare(string $query): ResultSet;
/**
* @param string $query
* @param array|null $data
* @return ResultSet
* @throws InvalidQuery
*/
public function execute(string $query, ?array $data = null): ResultSet;
}