41 lines
836 B
PHP
41 lines
836 B
PHP
|
<?php
|
||
|
namespace Database\Define\Database;
|
||
|
|
||
|
use Database\Exception\Database\InvalidQuery;
|
||
|
use PDO;
|
||
|
use PDOException;
|
||
|
|
||
|
interface Connection
|
||
|
{
|
||
|
/**
|
||
|
* @return self
|
||
|
* @throws PDOException
|
||
|
*/
|
||
|
public function connect(): self;
|
||
|
public function getPDO(): PDO;
|
||
|
|
||
|
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;
|
||
|
}
|