44 lines
917 B
PHP
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;
|
|
}
|