Middle Bitrix Framework D7 Обязательно

Архитектура ядра и модульность

Ядро Битрикса построено как модульный монолит, где историческое API (C*) сосуществует с современным D7 (Bitrix\* и ORM). Всю кастомную бизнес-логику проекта размещают в собственных модулях в /local/modules/, оставляя init.php только для регистрации базовых обработчиков.

Прогресс хранится в этом браузере. Войдите, чтобы сохранить его в аккаунте.

Что нужно понимать

  • 1
    Ядро D7
  • 2
    Модульная структура
  • 3
    Слои приложения

Материалы

Проверь себя

Обработчик 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: он знает документацию и материалы сайта по этой теме.

Знаете материал лучше?

Предложите ссылку: после проверки она появится в этом разделе.

Войти, чтобы предложить
Поделиться в Telegram
Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, вы соглашаетесь с нашей политикой конфиденциальности.
AI Домовой

AI Домовой История

на связи

пишет…
Нет истории чатов
AI Домовой

Нужна авторизация

Войдите, чтобы задавать вопросы AI Домовому.

Войти