API модуля Database для PHP-кода


НАЧАЛО >> Руководство пользователя >> API модуля Database для PHP-кода📄 Скачать в DOCX


Раздел предназначен для разработчиков модулей ИРБИС 128, которые обращаются к модулю Database из PHP-кода. Он фиксирует рекомендуемый способ получения типизированного экземпляра модуля и тип объекта базы данных, возвращаемый фабричными методами.

1. Получение экземпляра модуля

Для нового кода можно использовать статический метод Database::getInstance():

$database = Database::getInstance();

Метод возвращает тот же экземпляр модуля Database, который раньше обычно получали через UseModule('Database'), но его сигнатура явно указывает тип Database. Это помогает среде разработки видеть методы модуля, проверять сигнатуры и подсказывать доступные операции.

Старый способ остается совместимым:

$database = UseModule('Database');

Если код должен явно работать с модулем Database, предпочтительнее использовать Database::getInstance(). Если имя модуля выбирается динамически, остается применимым UseModule($moduleName).

2. Объект базы данных

Фабричный метод Database::GetNew() возвращает объект ObjectDataDatabase:

$db = Database::getInstance()->GetNew();

ObjectDataDatabase наследуется от ObjectData, поэтому существующий код, ожидающий обычный объект данных, продолжает работать. При этом у объекта базы данных описаны специализированные свойства и методы, например Name, Description, ProviderType, IsOpen, IsRO, GetIni(), GetTermList(), RecRead(), Search(), SaveAndUpdateRecord().

GetNew() создает новый объект базы данных, но сам по себе не открывает существующую БД. Для получения уже настроенной базы по имени используйте методы открытия БД, например:

$ibis = Database::getInstance()->Get('IBIS');

Возвращаемое значение в этом случае имеет тип ObjectDataDatabase|null: при ошибке открытия или неизвестном имени БД может быть возвращен null.

3. Практические рекомендации

4. Связанные разделы