Разработка:Структура
(перенаправлено с «Разработка:Плагины и библиотеки»)
Содержание
Плагины
Интерфейс пользователя
Плагины данного типа реализуют веб-интерфейс пользователя.
- Пример плагина интерфейса
- Интерфейс администратора
- Управление списками участников
- Интерфейс приемной комиссии
- Стандартный интерфейс первой страницы
Справочники
Классы для обращения к таблицам базы данных. Каждый плагин этого типа является ООП-интерфейсом доступа к одной одноименной таблице в базе данных, плагин сразу наследует основные операции для работы с таблицей, остальные операции должны быть объявлены как методы класса.
- Пример плагина справочника
- Участники образовательного процесса
- Договор учащегося с учебным заведением
Дополнительные библиотеки
Плагин-библиотека (для плагинов, не выводящих интерфейса пользователя и не подходящих ни для одного другого типа, либо для повторно-используемых библиотек)
- Пример модуля библиотеки
- Библиотека доступа к объектам Moodle
- Элементы навигации
- Дополнительные виджеты (формы, прогрессбар и т.д.)
Синхронизации
Плагин управления синхронизации с внешними базами данных
Рабочие процессы
Задают список возможных статусов объекта, возможные переходы между ними и действия, которые автоматически выполняются при переходе.
Системные библиотеки FDO
Структура папок и файлов FDO
- block_dof.php - объект блока Moodle, отвечает за отображение блока на страницах Moodle, а так же задает основные правила взаимодействия Moodle с FDO
- lib.php - файл инициализации FDO
- cfg/ - конфигурационные файлы
- cfg/тип_плагина/имя_плагина/ - папка с конфигурационными файломами, при наличие которых метод $DOF->plugin_path() возвращает путь к ним вместо пути в папки cfg/ внутри плагина
- db/ - файлы установки привилегий и баз данных, используемых ядром системы
- im/ - папка с плагинами интерфейса пользователя
- lang/ - языковые файлы ядра системы
- lib/ - основные библиотеки
- lib/dof.php - класс основного объекта $DOF, через который выполняется доступ ко всем функциям FDO и функциям плагинов
- lib/im.php - объявление интерфейса класса для плагинов im
- lib/modlib.php - объявление интерфейса класса для плагинов modlib
- lib/plugin.php - объявление общего интерфейса плагинов (все методы, объявленные тут, должны быть определены в каждом плагине)
- lib/storage_base.php - объявление методов для основных операций с базой данных (get,delete,insert,update и других)
- lib/storage.php - объявление интерфейса класса для плагинов storage
- lib/sync.php - объявление интерфейса класса для плагинов sync
- lib/utils.php - библиотека полезных функций, для использования в ядре FDO и плагинах
- lib/workflow.php - объявление интерфейса класса для плагинов workflow
- modlibs/ - плагины библиотек
- storages/ - справочники
- sync/ - плагины синхронизации с любыми внешними данными
- workflows/ - плагины рабочих процессов
- тип_плагина/имя_плагина/init.php - файл с основным классом плагина (обязателен)
- im/имя_плагина/lib.php - основной подключаемый файл интерфейса, должен быть загружен из всех файлов, к которым пользователь может обратиться напрямую, внутри себя должен загружать im из корня FDO
- тип_плагина/имя_плагина/cfg/ - конфигурационные файлы плагина
- тип_плагина/имя_плагина/db - установочные файлы базы данных
- тип_плагина/имя_плагина/lang/код_языка/ - языковые файлы