Архитектура
Bitrix Framework состоит из независимых модулей, которые работают друг с другом как единое приложение. Такая архитектура называется модульным монолитом.
Основные принципы архитектуры
Преемственность. Новые версии поддерживают совместимость с предыдущими решениями и технологиями. Это позволяет обновлять сайты, созданные на предыдущих версиях.
Единый подход работы. Все продукты и версии продуктов работают по одним принципам.
Безопасность. Система обеспечивает защиту для сайтов любой сложности.
Масштабируемость. Нет ограничений на развитие проектов по мере роста контента, сервисов и числа пользователей.
Производительность. Скорость работы зависит от настроек системы и возможностей хостинга.
Развитие системы. Разработчики могут создавать свои модули, компоненты и решения.
MVC в Bitrix Framework
Проекты строятся по схеме MVC:
-
M (Model) — данные и бизнес-логика,
-
V (View) — шаблоны сайтов, страниц и компонентов,
-
C (Controller) — контроллеры, то есть обработка запросов.
Дополнительные элементы системы
-
Компоненты — виджеты с логикой на PHP и шаблонами.
-
Расширения — виджеты для фронтенда на JavaScript.
-
Агенты — задачи, которые выполняются по расписанию.
-
Префильтры и постфильтры — обработчики до и после действий контроллера.
-
События и обработчики — связь бизнес-логики внутри модулей и между ними.
-
Сервисы — классы для сложной бизнес-логики по шаблону проектирования Сервисный слой.
Схема структуры и связей модулей
Обработка запроса
Bitrix Framework поддерживает два подхода к обработке запросов.
-
Контроллеры — современный подход, который следует принципам MVC. Подход разделяет логику, шаблоны и данные, что упрощает разработку и поддержку. Рекомендуется для новых проектов.
-
Физические страницы — устаревший подход. Логика, верстка и работа с данными часто находятся в одном файле, что усложняет развитие проекта. Используйте его только для поддержки старых решений.
Контроллеры
Запрос пользователя поступает на единую точку входа — роутер. Система сама определяет, какой контроллер его обработает.
Порядок обработки запроса:
-
Роутинг. Запрос попадает в файл
/bitrix/routing_index.php. Он анализирует URL и находит подходящий контроллер по правилам маршрутизации. -
Подготовка. Система подключает
prolog_before.phpдля инициализации фреймворка и сайта. Например, запускает автозагрузку классов, задает базовые константы, определяет язык. -
Действие контроллера. Запускается нужный метод
actionконтроллера. Он работает с моделью, получает данные и готовит результат. -
Формирование ответа. Контроллер возвращает объект
Response, например, HTML, JSON или редирект. Система отправляет ответ клиенту.

Физические страницы
Запрос пользователя поступает на PHP-файл в структуре сайта, например, /about/company.php.
Порядок обработки запроса:
-
Запуск страницы. Сервер выполняет код файла
/about/company.php. -
Подключение заголовка. Файл
/about/company.phpсодержит/bitrix/header.php, который подключает:-
prolog_before.phpдля инициализации фреймворка и сайта, -
шаблон сайта, если он настроен в системе.
-
-
Генерация контента. Код страницы вызывает компоненты через
$APPLICATION->IncludeComponent(). Компонент выполняет логику, затем подключает шаблон с HTML-разметкой и логикой отображения. -
Подключение подвала. В конце файл
/about/company.phpподключает/bitrix/footer.php. Внутри он завершает работу и выполняет общие действия, например, подсчет статистики.
