Обзор классов базы данных
Для работы с базой данных в Joomla применяется набор классов, которые представляют собой уровень абстракции базы данных.
Этот набор классов расположен в /libraries/joomla/database. Он позволяет использовать различные типы SQL баз данных и работать в различных средах с различными префиксами таблиц. Конструктор SQL-запросов улучшает читаемость и упрощает SQL кодинг. Использование уровня абстракции базы данных гарантирует максимальную совместимость и гибкость при разработке расширений.
Кратко рассмотрим, для чего используется каждый из этих классов.
JDatabaseInterface
Интерфейс для классов базы данных.
JDatabase
Класс является коннектором базы данных в Joomla.
Внимание Помечен как deprecated в Joomla 4 - большинство методов перенесены в JDatabaseDriver.
Подробнее о классе.
JDatabaseDriver
Драйвер базы данных - класс для выполнения запросов и получения данных. Также содержит различные служебные функции.
Основные методы:
getQuery($new = false)- возвращает объект конструктора запросов;quoteName($name, $as = null)- заключает в кавычки названия таблиц или полей для предотвращения конфликта зарезервированных имен и попыток инъекций;setQuery($query, $offset = 0, $limit = 0)- устанавливает SQL-строку для последующего выполнения;execute()- выполняет SQL-запрос.
Подробнее о классе.
JDatabaseExporter
Класс предназначен для экспорта структуры таблиц в формат XML.
Основные методы:
__toString()- экспортирует данные в строку (XML);from($from)- определяет список таблиц для экспорта.
Подробнее о классе.
JDatabaseFactory
Фабрика для создания объектов классов базы данных.
Основные методы:
getDriver($name = 'mysqli', $options = array())- создаёт и возвращает объект классаJDatabaseDriver;getExporter($name, JDatabaseDriver $db = null)- создаёт и возвращает объект классаJDatabaseExporter;getImporter($name, JDatabaseDriver $db = null)- создаёт и возвращает объект классаJDatabaseImporter;getQuery($name, JDatabaseDriver $db = null)- создаёт и возвращает объект классаJDatabaseQuery.
Подробнее о классе.
JDatabaseImporter
Класс предназначен для импорта структуры таблиц из формата XML.
Основные методы:
from($from)- определяет источник данных для импорта;mergeStructure()- объединяет входящюю структуру с уже существующей структурой.
Подробнее о классе.
JDatabaseIterator
Класс-итератор для ускорения получения и обработки данных. Реализует стандартные для итераторов методы, такие как: current(), key(), next() и другие.
Подробнее о классе.
JDatabaseQuery
Конструктор запросов (Query Builder). Реализует необходимые методы для составления SQL-запроса, такие как: select(), from(), where(), join() и другие.
Подробнее о классе.
- Последнее обновление: .