55 lines
2.4 KiB
PHP
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;
|
|
} |