Архитектура ядра и модульность
Ядро Битрикса построено как модульный монолит, где историческое API (C*) сосуществует с современным D7 (Bitrix\* и ORM). Всю кастомную бизнес-логику проекта размещают в собственных модулях в /local/modules/, оставляя init.php только для регистрации базовых обработчиков.
Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.
Что нужно понимать
-
1
Ядро D7
-
2
Модульная структура
-
3
Слои приложения
Материалы
Официальная документация
-
Структура директорий Новая дока
-
Концепция и архитектура (курс D7) Старая дока
Проверь себя
Обработчик OnAfterIBlockElementUpdate срабатывает на сайте, но не при сохранении элемента из админки. Где искать причину?
В месте регистрации. Если обработчик добавлен в /local/php_interface/<SITE_ID>/init.php, в административном разделе он не подключится: текущего сайта там нет, SITE_ID равен коду языка. Регистрация должна жить в /local/php_interface/init.php или в include.php своего модуля.
Чем запрос через /bitrix/routing_index.php отличается от запроса на физическую страницу?
Точкой входа и тем, кто формирует ответ. Роутер находит контроллер, тот возвращает объект Response. Страница сама подключает header.php и footer.php и вызывает компоненты через $APPLICATION->IncludeComponent(). Инициализация ядра через prolog_before.php у обоих одна.
Почему в модуле iblock лежат и CIBlockElement, и ElementTable из пространства Bitrix Iblock, и что из них брать?
В одном модуле живут два ядра: classes/general со старым API и lib с D7. Они работают с одними и теми же таблицами. В новом коде — D7, старое API остаётся там, где у него нет D7-замены.
Что сломается, если положить всю бизнес-логику проекта в init.php?
Файл подключается на каждом хите до старта сессии и до авторизации, поэтому фатальная ошибка в нём кладёт и публичную часть, и админку. Логике место в модуле в /local/modules, а init.php оставьте для регистрации обработчиков.
Не сходится?
Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.
Знаете материал лучше?
Предложите ссылку: после проверки она появится в этом разделе.
Войти, чтобы предложить