# Интерфейс `ITableManager` Интерфейс `ITableManager` предназначен для унификации работы с различными системами управления базами данных (СУБД) и представляет собой общий API для управления таблицами в базе данных. Интерфейс помогает абстрагироваться от конкретных особенностей разных драйверов баз данных и облегчает поддержку различных СУБД внутри приложения. ## Информация - **Название пространства имён**: `goodboyalex\php_db_components_pack\interfaces` - **Автор**: Александр Бабаев - **Версия**: 1.0 - **Начало поддержки**: с версии 1.0 ## Свойства ### `public array $TypeConversation` Это свойство предназначено для хранения соответствия типов данных PHP и определённых СУБД. Оно используется для правильного преобразования типов данных при создании и изменении таблиц. Пример использования: ```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](../classes/tm_drivers/MySQLTableManager.md), [MSSQLTableManager](../classes/tm_drivers/MSSQLTableManager.md), [PostgreSQLTableManager](../classes/tm_drivers/PostgreSQLTableManager.md), [OracleDBTableManager](../classes/tm_drivers/OracleDBTableManager.md) и [SQLiteTableManager](../classes/tm_drivers/SQLiteTableManager.md) [На главную](../../index.md)