axsmak
@axsmak
Создатель

Как правильно построить логику загрузки модульного сайта?

Разрабатываю движок для собственных проектов. Движок модульный. Каждый модуль представляет собой класс в отдельном файле, набор смарти-шаблонов и записи БД.
В данный момент на движке работает два лендинга, внутренний веб-сервис и блог. Но всё это построено на обрывочных знаниях и, порой, интуитивно. Кому интересно, под спойлером текущая схема загрузки.
spoiler
Ядро движка - несколько статик-классов отвечающих за БД, настройки, пользователя, логирование, разбор УРЛ и т. п.
При загрузке ядро анализирует УРЛ, настройки, права пользователя и другие данные.
Исходя из этих данных делает выборку требуемых модулей из БД, подключает и исполняет каждый модуль. Для этого в классе модуля есть метод execute().
Модули также анализируют аналогичные данные и формируют информацию для вывода.
После исполнения модулей ядро вызывает по каждому модулю метод out(), который инклудит в буфер нужные шаблоны. Буфер для каждой позиции основного шаблона свой.
Буферизированный вывод присваивается переменным основного класса Site и инклудится основной шаблон.
Один модуль может выводиться в разные позиции страницы и по разным адресам. Для этого есть таблица в БД, которая содержит имя модуля, позицию, УРЛ, и параметры в json.
Именно из этой таблицы движок и берёт данные, что, куда и как выводить.

Но хочется узнать есть ли какие-то известные, устоявшиеся приёмы, чтобы не изобретать велосипед. Может подскажите со своего личного опыта или что почитать?
UPD: Ответ тут - https://habrahabr.ru/post/116834/
  • Вопрос задан
  • 256 просмотров
Решения вопроса 1
Смотрите струтуру symfony, там собраны все самый лучше практики
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы