Files
php_db_components_pack/help/class_desc/enums/DBDriver.md
2025-08-20 18:09:37 +03:00

5.1 KiB
Raw Blame History

Перечисление DBDriver

Перечисление представляет собой набор констант, определяющих типы драйверов баз данных, поддерживаемых системой. Используется совместно с библиотекой PHP PDO для идентификации различных типов СУБД.

Основная информация

  • Автор: Александр Бабаев
  • Версия: 1.0.2
  • Дата начала поддержки: с версии 1.0

Пространство имен и зависимости

namespace goodboyalex\php_db_components_pack\enums;

use goodboyalex\php_components_pack\traits\EnumExtensionsTrait;

Возможные значения перечисления

Константа Значение Описание
MySQL 0 Драйвер MySQL
MSSQL 1 Драйвер MS SQL Server
PostgreSQL 2 Драйвер PostgreSQL
OracleDB 3 Драйвер Oracle
SQLite 4 Драйвер SQLite

Методы

Метод GetSigns

Метод GetSigns предназначен для получения знаков, которыми принято заключать имена полей и таблиц в различных системах управления базами данных (СУБД). Некоторые СУБД используют двойные кавычки ", квадратные скобки [], обратные апострофы ` или другие специальные символы для экранирования идентификаторов (имен таблиц, колонок и других объектов базы данных).

Синтаксис

public static function GetSigns(DBDriver $driver): Tuple

Аргументы

  • $driver: Переменная типа DBDriver, указывающая на используемую СУБД (например, MySQL, PostgreSQL, SQLite и т.д.).

Возвращаемое значение

Метод возвращает кортеж Tuple, содержащий два элемента:

  • Первый элемент — знак открывающий.
  • Второй элемент — знак закрывающий.

Например, для MySQL и PostgreSQL чаще всего возвращаются символы обратной косой черты и прямой ("``, "``) соответственно, а для MS SQL Server — квадратные скобки ([, ]).

Пример использования

Допустим, у вас есть код, который выводит SQL-запрос с экранированием идентификатора в зависимости от используемой СУБД:

use goodboyalex\php_db_components_pack\enums\DBDriver;

// Получаем знаки для MySQL
[$open, $close] = DBDriver::GetSigns(DBDriver::MYSQL);

// Использование полученных знаков
$sql = sprintf("SELECT %s%s%s FROM users;", $open, 'username', $close);

В результате для MySQL получится:

SELECT `username`
FROM users;

Аналогично, для PostgreSQL:

SELECT "username"
FROM users;

Особенности реализации

Используется trait EnumExtensionsTrait, предоставляющий дополнительные методы для работы с перечислениями, такие как преобразование значений в целые числа и обратно.

Использование

Примеры использования перечисления:

use goodboyalex\php_db_components_pack\enums\DBDriver;

// Получение значения по имени
$dbType = DBDriver::MySQL;

// Проверка типа драйвера
if ($dbType === DBDriver::MySQL)
    echo "Это MySQL";

Совместимость

Перечисление совместимо с современными версиями PHP, начиная с версии 8.1, поддерживающей нативные перечисления ( enum). Если используется более ранняя версия PHP, возможно потребуется альтернативная реализация на основе классов или сторонних пакетов.

Вывод

Этот класс является частью библиотеки goodboyalex/php_db_components_pack и предназначен для унификации работы с различными системами управления базами данных посредством стандартного интерфейса PDO.

На главную