20250805-1
This commit is contained in:
79
help/class_desc/interfaces/ITableManager.md
Normal file
79
help/class_desc/interfaces/ITableManager.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Интерфейс `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)
|
Reference in New Issue
Block a user