Namespaces changes
This commit is contained in:
18
src/Define/Database.php
Normal file
18
src/Define/Database.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
namespace Database\Define;
|
||||
|
||||
interface Database
|
||||
{
|
||||
public function getHost(): string;
|
||||
public function getPort(): int|bool;
|
||||
public function getName(): string;
|
||||
public function getUser(): string;
|
||||
public function getPassword(): string;
|
||||
public function needsUser(): bool;
|
||||
public function setHost(string $host): self;
|
||||
public function setPort(int $port): self;
|
||||
public function setName(string $name): self;
|
||||
public function setUser(string $username): self;
|
||||
public function setPassword(string $password): self;
|
||||
public function getDsn(): string;
|
||||
}
|
40
src/Define/Database/Connection.php
Normal file
40
src/Define/Database/Connection.php
Normal file
@ -0,0 +1,40 @@
|
||||
<?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;
|
||||
}
|
15
src/Define/Database/ResultSet.php
Normal file
15
src/Define/Database/ResultSet.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
namespace Database\Define\Database;
|
||||
|
||||
use PDOStatement;
|
||||
|
||||
interface ResultSet
|
||||
{
|
||||
public function getStatement(): PDOStatement;
|
||||
public function execute(array $data): self;
|
||||
|
||||
public function fetchFirst(): array;
|
||||
public function fetchAll(): array;
|
||||
public function fetchFirstAsObject(): object;
|
||||
public function fetchAllAsObjects(): array;
|
||||
}
|
9
src/Define/Database/Transaction.php
Normal file
9
src/Define/Database/Transaction.php
Normal file
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
namespace Database\Define\Database;
|
||||
|
||||
interface Transaction
|
||||
{
|
||||
public function begin(): Transaction;
|
||||
public function commit(): void;
|
||||
public function rollBack(): void;
|
||||
}
|
Reference in New Issue
Block a user