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

Жизненный цикл запроса

Инициализация веб-запроса выполняется в prolog_before.php, где определяются сайт и язык, стартует сессия, создается объект пользователя $USER и включается буферизация страницы. Фоновые задачи, отправка накопленных почтовых событий и агенты запускаются в финальной фазе Application::terminate() уже после отправки HTTP-ответа браузеру.

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

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

  • 1
    Инициализация ядра
  • 2
    Обработка запроса
  • 3
    Формирование ответа

Материалы

Официальная документация

Проверь себя

Обработчик OnPageStart падает с ошибкой «Call to a member function IsAuthorized() on null». Почему, и на какое событие переехать?

В момент OnPageStart объект $USER ещё не создан, он появляется сразу после этого события. Авторизация и шаблон сайта определены к OnBeforeProlog — туда и переносить код, которому нужен текущий пользователь.

Заказчик жалуется, что заголовок страницы, установленный из компонента в подвале шаблона, всё равно применяется, хотя тег title выведен в шапке. Как это работает?

Вывод страницы буферизуется. $APPLICATION->ShowTitle() ставит в буфер отложенную функцию через AddBufferContent(), а реальная подстановка происходит в EndBufferContent() в конце хита. Поэтому SetTitle() из любого места страницы успевает.

Почему нельзя писать в $_SESSION из init.php?

init.php подключается в include.php до старта сессии ядра: kernelSession->start() вызывается позже, перед OnPageStart. Всё, что записано раньше, потеряется или сломает старт сессии.

Чем фоновая задача через Application::addBackgroundJob() отличается от кода в конце страницы?

Она выполняется в Application::terminate() после отправки ответа и закрытия сессии, поэтому пользователь не ждёт. В том же месте в актуальном main запускаются агенты и отправка почтовых событий.

Не сходится?

Спросите ассистента BXMax: он знает документацию и материалы сайта по этой теме.

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

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

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

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

на связи

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

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

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

Войти