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

Метод getUri

Метод getUri класса Request возвращает полный URI текущего запроса в виде строки. Он объединяет схему, хост, порт, путь и строку запроса в единый адрес. Метод не принимает параметров и всегда возвращает строку.

Синтаксис

public function getUri(): string

Пример

Давайте получим полный URI запроса в контроллере:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $uri = $request->getUri(); return new Response($uri); } } ?>

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

"http://localhost/article?page=1"

Пример

Давайте выведем URI вместе с методом запроса:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/user', name: 'article_user')] public function user(Request $request): Response { $method = $request->getMethod(); $uri = $request->getUri(); return new Response($method . ' ' . $uri); } } ?>

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

"POST http://localhost/user"

Пример

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

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeRoute; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $res = [ 'uri' => $request->getUri(), 'path' => $request->getPathInfo(), 'query' => $request->getQueryString(), ]; return new Response(json_encode($res)); } } ?>

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

{"uri":"http://localhost/article?page=1","path":"/article","query":"page=1"}

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

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