2025-08-05 22:26:43 +03:00

3.8 KiB
Raw Blame History

Интерфейс 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

На главную