Класс Database предназначен для работы с базой данных проекта. Кроме методов для выборки, добавления, редактирования и удаления данных, он содержит набор методов для управления структурой таблиц: добавление, редактирование и удаление полей (столбцов), добавление и удаление индексов, получение информации о таблицах, экспорт и импорт дампов с данными.
В некоторых случаях бывает так, что предусмотренных методов класса все же недостаточно для нужд приложения, и необходимо выполнить свой собственный SQL-запрос, написанный вручную. Для этой цели предназначены методы customQuery, customQuerySilent и customQueryBoolean. Первые два − для запросов, возвращающих результат, третий − для запросов, выполняющих действия (например, обновляющие данные в таблице), но не возвращающих результата.
Экземпляр класса Database создается в движке автоматически и доступен через глобальную переменную $database. В пакетах эта переменная доступна автоматически, ее не нужно никак объявлять. В функциях и методах классов ее нужно предварительно объявить командой:
global $database;
Все методы класса можно разделить по смыслу на следующие группы: