Создание API форума ExBB
Для лучшей управляемости и интеграции форума с другими компонентами сайта необходимо создать API для управления форумом, на которое в дальнейшем можно перевести все основные функции форума и таким образом упростить его использование извне.
Необходимый минимум функций:
- чтение/запись основных настроек форума;
- манипуляции с сообщениями/темами/форумами/подфорумами/пользователями;
- управление дополнительными модами и их данными.
Прошу вносить предложения по унификации API
1. 1Bot - 25 апреля 2016 — 19:36 - перейти к сообщению
2. Flat - 8 августа 2018 — 11:41 - перейти к сообщению
Почему тема заглохла на первом посте, это потому, что сложно прикрутить апи применительно к данному движку.
Код должен быть структурирован таким образом, чтобы общение его частей между собой было на уровне файлов данных, настроек и пр., то есть это означает, что ненужно будет лезть в код сторонних модулей, чтобы что-то там "прикрутить". Как правило прикрученное на скорую руку быстро отваливается. Например если надо обновить какой-то модуль, то кидаем в его папку файл с апдейтом, и запускаем из админки процесс обновления, файл апдейта сам всё сделает. Сейчас же обязательно придётся лезть в сырой код и что-то там править. Вот главное от этого уйти. АПИ должны быть у каждого модуля свои. Например модуль "меню". У него есть свои АПИ типа "добавить новый пункт", "удалить существующий", "изменить порядок" и т.д. Другой модуль если ему нужен новый пункт меню, использует эти возможности модуля "меню", чтобы добавить свой пункт. Например в админке так можно добавлять новые пункты или удалять старые, создавать новые страницы. Чтобы добавит новый модуль в систему кидаем его папку в папку с модулями и запускаем инсталятор этого модуля, инсталятор конфигурирует общие файлы настроек и прописывает себя в системе.
Код должен быть структурирован таким образом, чтобы общение его частей между собой было на уровне файлов данных, настроек и пр., то есть это означает, что ненужно будет лезть в код сторонних модулей, чтобы что-то там "прикрутить". Как правило прикрученное на скорую руку быстро отваливается. Например если надо обновить какой-то модуль, то кидаем в его папку файл с апдейтом, и запускаем из админки процесс обновления, файл апдейта сам всё сделает. Сейчас же обязательно придётся лезть в сырой код и что-то там править. Вот главное от этого уйти. АПИ должны быть у каждого модуля свои. Например модуль "меню". У него есть свои АПИ типа "добавить новый пункт", "удалить существующий", "изменить порядок" и т.д. Другой модуль если ему нужен новый пункт меню, использует эти возможности модуля "меню", чтобы добавить свой пункт. Например в админке так можно добавлять новые пункты или удалять старые, создавать новые страницы. Чтобы добавит новый модуль в систему кидаем его папку в папку с модулями и запускаем инсталятор этого модуля, инсталятор конфигурирует общие файлы настроек и прописывает себя в системе.
3. 1Bot - 9 августа 2018 — 08:07 - перейти к сообщению
Flat пишет:
АПИ должны быть у каждого модуля свои. Например модуль "меню". У него есть свои АПИ типа "добавить новый пункт", "удалить существующий", "изменить порядок" и т.д.
Верно, сейчас API очень легко обобщить как передачу определенных GET, POST запросов самому форуму от лица определенного пользователя.