Работа системы Boolive начинается с запуска её главного модуля – ядра. Основное назначение ядра – обеспечивать работу всех остальных модулей. Но чтобы запустить ядро, необходимо обеспечить работу самого ядра.
Запуск ядра осуществляется индексным файлом index.php, обеспечивающим необходимые условия запуска. Они простые. Первым делом подключается файл конфигурации с путями на основные директории системы. Далее загружается файл класса ядра «Engine» и вызывается его метод Start(). Ядро запущено, ему передано управление.

продолжение…
В предыдущей статье поставлена непростая задача. Напомню, что CMS должна выполнять своё предназначение, быть гибкой, расширяемой, с достаточной функциональностью, устойчивой и понятной для пользователя, совместимой с существующими стандартами, переносимой на другие платформы и эффективной. Создать систему с перечисленными критериями сложно, да и сходу непонятно как, но мы её создадим! Поможет в этом модульная архитектура. продолжение…
На схеме отображены модули движка и основные их взаимосвязи.

Системные модули создают необходимое окружение для обработки запросов. Это автоматическое подключение всех модулей по требованию, обработчик ошибок, сессии, бд, события и другие. Запрос пользователя обрабатывается в зависимости от своих параметров модулем Service, Site или другими.
Модуль Site собирает страницу из виджетов, перед этим, соответствующему виджету-форме сообщает о входящих для него данных, чтоб он их обработал. Виджеты отображаются в зависимости от адреса запроса, отображают любые данные. Виджетами формируется центральное содержимое, меню, формы или просто статика.
Модуль Service в отличие от Site не занимается шаблонизацией. По запросу выбирает соответствующий сервис, вызывает соответствующие запросу его методы, результаты методов подготавливает в формате JSON или в другом и отправляет клиенту.
По аналогии должны работать и модули Download и Feeder, но их пока нет.