HttpRequest в D7: единый фасад вместо сырых массивов $_GET и $_POST
Почему не лезть в суперглобалы напрямую
Тесты, консольные сценарии и фоновые задачи не всегда формируют полный набор $_SERVER/$_POST. Централизованный HttpRequest повторяет поведение ядра: префиксы cookie, нормализация URI и единая точка для политик безопасности.
Доступ к полям
get— обобщённый доступ по имени, аналог «как в$_REQUEST», но с учётом слоёв фреймворка.getPost,getQuery— явное разделение источника.getFile/getFileList— загрузки.getCookieподставляет префикс из настроек главного модуля;getCookieRaw— без него.
JSON и служебные параметры
isJson сверяет заголовок Content-Type; decodeJson и getJsonList разбирают тело. getSystemParameters возвращает системные имена уровня login/logout, с которыми работает обвязка авторизации.
Пример: форма, JSON и метаданные запроса
use Bitrix\Main\Application;
use Bitrix\Main\Context;
$httpPulse = Application::getInstance()->getContext()->getRequest();
$alias = (string) $httpPulse->getPost('alias');
$token = (string) $httpPulse->getQuery('token');
if ($httpPulse->isJson()) {
$httpPulse->decodeJson();
$payload = $httpPulse->getJsonList()->get('items');
}
$remoteHost = $httpPulse->getHttpHost();
$usesTls = $httpPulse->isHttps();
$fromAdmin = $httpPulse->isAdminSection();
$isAjax = $httpPulse->isAjaxRequest();
$uriWithQuery = Context::getCurrent()->getServer()->getRequestUri();Нюансы URI
getRequestedPage нормализует маршрут к index.php там, где это заложено в ядре; для ЧПУ сравнивайте с ожиданиями шаблона. getDecodedUri приводит путь к кодировке текущей локали — полезно при смешанных кириллических сегментах.
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии