Принцип работы

MWCE написан по принципу шаблона проектирования MVC:
есть шаблоны, контроллер и модель, которая отвечает за манипуляции с данными.

Архитектура CMS предполагает, что движок может работать сразу с несколькими (помимо админки) сайтами(билдами) и базами сайтов одновременно:

Настройки существующих страниц, меню, плагинов, администраторов лежат в отдельной базе с названием "mwce_settings". Такой подход позволяет работать сразу с несколькими сайтами одновременно: служебная информация с доступами и списками модулей загружается только при первом запуске билда или обновляется по требованию администратора, а все остальные данные из базы, что указана в main (настройке) билда, благодаря этому можно создать портал в котором в одном билде будет информационный сайт, в другом билде - полноценный форум или, например, галерея. Вы ограничены лишь своей фантазией.  

В основе работы с базой данных лежит достаточно известная библиотека adodb, что позволяет использовать разные СУБД не меняя пол сайта. Если же кому-то покажется библиотека слишком "монструозной", то без проблем ее можно заменить на класс собственной реализации: над adodb находится класс-обертка, через который и проходят все данные, изменив его, можно полностью отказаться от использования библиотеки, при этом в большинстве случаев переписывать модели не придется.

Так же, в движке присутствует механизм кеширования: достаточно указать в настройках модуля время кеширования, а в нужном методе добавить 2 строки кода (если модули нестандартные) и получить полное кеширование результатов.

Очень важно помнить, что правила доступа к модулям сайта и вообще о модулях и плагинах хранятся в базе данных "mwce_settings" и если по какой - то причине сайт не найдет кеш данных правил (например, первый запуск), то он обратится к базе и полученные данные положит в кеш.

В оглавление