РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
506 of 1361 menu

Метод getDate класса HeaderBag

Метод getDate класса HeaderBag извлекает значение HTTP-заголовка и преобразует его в объект DateTimeImmutable. Первым параметром передаётся имя заголовка, вторым - значение по умолчанию, которое вернётся, если заголовок отсутствует. Метод удобен для работы с заголовками Date, Expires, Last-Modified и им подобными.

Синтаксис

public function getDate(string $key, ?\DateTimeInterface $default = null): ?\DateTimeInterface

Пример

Давайте создадим объект HeaderBag с заголовком Date и извлечём из него дату:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\HeaderBag; class ArticleController extends AbstractController { public function index(): Response { $bag = new HeaderBag([ 'Date' => 'Wed, 21 Oct 2026 07:28:00 GMT', ]); $date = $bag->getDate('Date'); return new Response($date->format('Y-m-d H:i:s')); } } ?>

Результат выполнения кода:

"2026-10-21 07:28:00"

Пример

Давайте передадим второй параметр - значение по умолчанию, которое вернётся, если заголовка нет:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\HeaderBag; class ArticleController extends AbstractController { public function index(): Response { $bag = new HeaderBag([ 'Content-Type' => 'text/html', ]); $default = new \DateTimeImmutable('2026-01-01 00:00:00'); $date = $bag->getDate('Expires', $default); return new Response($date->format('Y-m-d H:i:s')); } } ?>

Результат выполнения кода:

"2026-01-01 00:00:00"

Пример

Давайте извлечём дату из заголовка запроса If-Modified-Since:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(Request $request): Response { $date = $request->headers->getDate('If-Modified-Since'); if ($date === null) { return new Response('"no date"'); } return new Response($date->format('Y-m-d')); } } ?>

Результат выполнения кода при отсутствии заголовка:

"no date"

Смотрите также

  • класс HeaderBag,
    который хранит HTTP-заголовки
  • метод get,
    который возвращает значение заголовка
  • метод all,
    который возвращает все заголовки
  • метод has,
    который проверяет наличие заголовка
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить