sanches.free
19 просмотров
HttpRequest в D7: доступ к GET/POST, JSON, cookie и метаданным запроса
Получить объект
$request = \Bitrix\Main\Application::getInstance()->getContext()->getRequest();Основные геттеры
get($name)— аналог попадания в$_REQUEST.getPost/getQuery— раздельно POST и GET.getFile($name)— загруженный файл.getCookie— с префиксом из настроек главного модуля;getCookieRawбез префикса.
Списки параметров
$postBag = $request->getPostList();
$queryBag = $request->getQueryList();
$fileBag = $request->getFileList();
$cookieBag = $request->getCookieList();JSON
if ($request->isJson()) {
$request->decodeJson();
}
$jsonBag = $request->getJsonList();
$value = $request->getJsonList()->get('key');Системные поля и заголовки
getSystemParameters() возвращает служебные имена вида авторизации из запроса. Для географии клиента есть getRemoteAddress, для UA — getUserAgent, для языков — getAcceptedLanguages().
URI и режим админки
getRequestUri()— текущая страница по смыслуGetCurPageParam().getDecodedUri()— с учётом кодировки пути.getRequestedPage()/getRequestedPageDirectory()— путь без параметров и каталог.isHttps(),isAjaxRequest(),isAdminSection()— типовые признаки.
Модификация query-string
$request->modifyByQueryString('a=1&b=2');Итог
HttpRequest централизует доступ к входным данным и снимает необходимость читать суперглобальные массивы напрямую, сохраняя поведение битриксового контекста (префиксы cookie, админские флаги и т.д.).
Не хотите копаться сами?
Починю за 1-3 дня. Без предоплаты — оплата по результату.
15+ лет опыта с 1С-Битрикс · Без предоплаты · 7 дней гарантии