30 lines
1.1 KiB
PHP
30 lines
1.1 KiB
PHP
<?php
|
|
namespace Psr\Database;
|
|
|
|
use PDO;
|
|
|
|
interface DatabaseInterface
|
|
{
|
|
public function setHost(string $host, ?int $port = null): DatabaseInterface;
|
|
public function getHost(): string;
|
|
public function getPort(): int;
|
|
public function setName(string $database_name): DatabaseInterface;
|
|
public function getName(): string;
|
|
public function setUser(string $username, string $password): DatabaseInterface;
|
|
public function getUser(): string;
|
|
public function getPassword(): string;
|
|
public function getDsn(): string;
|
|
public function needsUser(): bool;
|
|
public function connect(): DatabaseInterface;
|
|
public function getConnection(): PDO;
|
|
public function beginTransaction(): void;
|
|
public function commit(): void;
|
|
public function rollBack(): void;
|
|
public function query(string $query): array;
|
|
public function prepare(string $query): DatabaseInterface;
|
|
public function execute(array $data): array;
|
|
public function insert(array $values): void;
|
|
public function update(array $data): void;
|
|
public function delete(array $data): void;
|
|
}
|