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

Метод getQueryString

Метод getQueryString класса Request возвращает строку запроса (query string) текущего URL. Строка запроса - это часть адреса после знака ?, содержащая параметры в виде пар ключ=значение, разделённых знаком &. Метод не принимает параметров и возвращает строку или null, если строка запроса отсутствует.

Синтаксис

public function getQueryString(): ?string

Пример

Давайте получим строку запроса для адреса /user?name=abcde&age=25:

<?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('/user', name: 'article_user')] public function user(Request $request): Response { $res = $request->getQueryString(); return new Response($res); } } ?>

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

name=abcde&age=25

Пример

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

<?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('/user', name: 'article_user')] public function user(Request $request): Response { $res = $request->getQueryString(); if ($res === null) { return new Response('no query string'); } return new Response($res); } } ?>

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

"no query string"

Пример

Давайте разберём строку запроса на отдельные параметры с помощью функции parse_str:

<?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('/user', name: 'article_user')] public function user(Request $request): Response { $queryString = $request->getQueryString(); $res = []; parse_str($queryString ?? '', $res); return new Response(json_encode($res)); } } ?>

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

{"name":"abcde","age":"25"}

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

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