Обзор классов базы данных
Для работы с базой данных в 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()
и другие.
Подробнее о классе.
- Последнее обновление: .