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

Класс Request

Класс Request инкапсулирует все данные HTTP-запроса: параметры строки запроса, тело запроса, заголовки, cookies, файлы и серверные переменные. Объект создаётся автоматически при обработке запроса и доступен в контроллере через аргумент метода. Рассмотрим его основные возможности на примерах.

Синтаксис

use Symfony\Component\HttpFoundation\Request; public function index(Request $request): Response { $value = $request->get('key'); }

Пример

Давайте получим объект Request в контроллере и выведем значение GET-параметра name:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $name = $request->get('name'); return new Response($name); } } ?>

Результат выполнения кода для адреса /article?name=abcde:

abcde

Пример

Давайте определим HTTP-метод запроса с помощью метода getMethod:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $method = $request->getMethod(); return new Response($method); } } ?>

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

"GET"

Пример

Давайте получим IP-адрес клиента с помощью метода getClientIp:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $ip = $request->getClientIp(); return new Response($ip); } } ?>

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

"127.0.0.1"

Пример

Давайте проверим, является ли запрос AJAX-запросом, с помощью метода isXmlHttpRequest:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $res = $request->isXmlHttpRequest(); return new Response($res ? 'true' : 'false'); } } ?>

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

"false"

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

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