НАЧАЛО >> Оглавление >> Сервер приложений ИРБИС 64/128 >> Ядро системы >> Подсистема управления модулями📄 Скачать в DOCX
Система ИРБИС 64/128 построена как набор модулей. К модулю и его функциям из PHP-кода обращаются через глобальную функцию UseModule('<мнемоническое_имя_модуля>').
Функция возвращает экземпляр класса модуля или null, если модуль не существует либо при его инициализации произошла критическая ошибка. Каждый модуль создаётся и инициализируется один раз.
Пример:
$a = UseModule('SomeModule');
$b = UseModule('SomeModule');
$a->test = 0;
$b->test = 1;
echo $a->test; // 1
Каждый модуль должен располагаться в каталоге modules/<мнемоническое_имя_модуля>/api.php. В файле api.php должен быть определён класс с именем, совпадающим с мнемоническим именем модуля.
Класс модуля должен как минимум предоставлять метод GetModuleTitle(), возвращающий название модуля.
При инициализации модуля через UseModule() для классов, наследуемых от ObjectModule, вызывается PostInit(). Подробнее см. раздел ObjectModule.
Для каждого модуля при установке через АРМ Администратор в БД I128F создаётся запись типа MODULE.
| Поле | Подполе | Значение |
|---|---|---|
1 |
A |
Мнемоническое имя модуля |
1 |
B |
Название модуля |
2 |
A |
Тип управляемых модулем записей |
113 |
Информация подсистемы безопасности |
Для модулей, наследуемых от ObjectModule, дополнительно вызываются функции SetupModule(true, true) и SetupModuleConfigure().
Класс ObjectModule предназначен для наследования. Наследование от него предоставляет модулю готовую инфраструктуру конфигурирования, безопасности и работы с управляемыми записями.