3.8 KiB
Интерфейс ITableManager
Интерфейс ITableManager
предназначен для унификации работы с различными системами управления базами данных (СУБД) и
представляет собой общий API для управления таблицами в базе данных. Интерфейс помогает абстрагироваться от конкретных
особенностей разных драйверов баз данных и облегчает поддержку различных СУБД внутри приложения.
Информация
- Название пространства имён:
goodboyalex\php_db_components_pack\interfaces
- Автор: Александр Бабаев
- Версия: 1.0
- Начало поддержки: с версии 1.0
Свойства
public array $TypeConversation
Это свойство предназначено для хранения соответствия типов данных PHP и определённых СУБД. Оно используется для правильного преобразования типов данных при создании и изменении таблиц.
Пример использования:
use goodboyalex\php_db_components_pack\enums\DBType;
$this->TypeConversation[DBType::INT] = 'INT'; // Для MySQL
$this->TypeConversation[DBType::STRING] = 'VARCHAR'; // Для MySQL
Методы
IsTableExist(PDO $handle, string $tableName): bool
Метод проверяет, существует ли таблица с данным именем в базе данных.
Параметры:
$handle
: объект PDO, представляющий соединение с базой данных.$tableName
: название таблицы, которую нужно проверить.
Возвращаемый результат:
true
, если таблица существует.false
, если таблица не найдена.
CreateTable(PDO $handle, string $tableName, ObjectArray $columns): bool
Метод создаёт новую таблицу в базе данных.
Параметры:
$handle
: объект PDO, представляющий соединение с базой данных.$tableName
: название новой таблицы.$columns
: массив объектовDataBaseColumn
, описывающих структуру таблицы.
Возвращаемый результат:
true
, если таблица успешно создана.false
, если возникла ошибка при создании таблицы.
ParseColumn(DataBaseColumn $column): string
Этот метод генерирует правильное представление столбца таблицы в виде SQL-кода, основываясь на переданных параметрах.
Параметры:
$column
: объектDataBaseColumn
, описывающий столбец таблицы.
Возвращаемый результат:
- SQL-код, представляющий указанный столбец таблицы.
Типичные сценарии использования
Это внутренний интерфейс, его реализуют драйвера управления таблицами: MySQLTableManager, MSSQLTableManager, PostgreSQLTableManager, OracleDBTableManager и SQLiteTableManager