2025-08-07 18:06:55 +03:00

55 lines
2.4 KiB
PHP

<?php
namespace goodboyalex\php_db_components_pack\interfaces;
use goodboyalex\php_components_pack\classes\ObjectArray;
use goodboyalex\php_db_components_pack\models\DataBaseColumn;
use PDO;
/**
* Интерфейс классов драйверов баз данных для управления таблицами данных.
*
* @author Александр Бабаев
* @package php_db_components_pack
* @version 1.0.0
* @since 1.0
*/
interface ITableManager
{
/**
* @var array $TypeConversation Таблица соответствий типов данных PHP и соответствующего драйвера СУБД.
*/
public array $TypeConversation {
get;
}
/**
* Проверяет существование таблицы в базе данных.
*
* @param PDO $handle Представляет соединение между PHP и сервером базы данных.
* @param string $tableName Имя таблицы.
*
* @return bool Возвращает <code>true</code>, если таблица существует, иначе возвращает <code>false</code>.
*/
public function IsTableExist (PDO $handle, string $tableName): bool;
/**
* Создает таблицу в базе данных.
*
* @param PDO $handle Представляет соединение между PHP и сервером базы данных.
* @param string $tableName Имя таблицы.
* @param ObjectArray $columns Колонки таблицы.
*
* @return bool Возвращает <code>true</code>, если таблица успешно создана, иначе возвращает <code>false</code>.
*/
public function CreateTable (PDO $handle, string $tableName, ObjectArray $columns): bool;
/**
* Разбирает столбец для SQL-запроса создания.
*
* @param \goodboyalex\php_db_components_pack\models\DataBaseColumn $column Столбец таблицы.
*
* @return string SQL-представление столбца.
*/
public function ParseColumn (DataBaseColumn $column): string;
}