Namespaces changes

This commit is contained in:
2025-09-30 17:15:39 -03:00
parent ed45901de2
commit d2c37d0aad
24 changed files with 289 additions and 217 deletions

18
src/Define/Database.php Normal file
View 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;
}

View 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;
}

View 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;
}

View File

@ -0,0 +1,9 @@
<?php
namespace Database\Define\Database;
interface Transaction
{
public function begin(): Transaction;
public function commit(): void;
public function rollBack(): void;
}