Класс HeaderBag
Класс HeaderBag используется в Symfony для хранения и управления HTTP-заголовками. Он доступен через объекты Request и Response с помощью свойства headers. Класс автоматически нормализует имена заголовков (делает их регистронезависимыми), а также предоставляет методы для получения значений заголовков в виде строк, дат или массивов.
Синтаксис
use Symfony\Component\HttpFoundation\HeaderBag;
$bag = new HeaderBag(array $headers = []);
Пример
Давайте создадим объект HeaderBag и добавим в него заголовок:
<?php
use Symfony\Component\HttpFoundation\HeaderBag;
$bag = new HeaderBag();
$bag->set('Content-Type', 'application/json');
echo $bag->get('Content-Type');
?>
Результат выполнения кода:
"application/json"
Пример
Давайте получим все заголовки в виде массива с помощью метода all:
<?php
use Symfony\Component\HttpFoundation\HeaderBag;
$bag = new HeaderBag([
'Content-Type' => 'text/html',
'X-Custom-Header' => 'abcde'
]);
$res = $bag->all();
print_r($res);
?>
Результат выполнения кода:
[
"content-type" => ["text/html"],
"x-custom-header" => ["abcde"]
]
Пример
Давайте проверим наличие заголовка и получим его в виде даты с помощью метода getDate:
<?php
use Symfony\Component\HttpFoundation\HeaderBag;
$bag = new HeaderBag([
'Date' => 'Wed, 21 Oct 2026 07:28:00 GMT'
]);
if ($bag->has('Date')) {
$date = $bag->getDate('Date');
echo $date->format('Y-m-d');
}
?>
Результат выполнения кода:
"2026-10-21"
Смотрите также
-
класс
ParameterBag,
который хранит параметры запроса -
метод
get,
который возвращает значение заголовка -
метод
set,
который устанавливает заголовок -
метод
all,
который возвращает все заголовки