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

Метод getUriForPath класса Request

Метод getUriForPath класса Request возвращает абсолютный URI для переданного пути. Первым параметром передаётся путь, для которого нужно построить URI. Метод учитывает схему, хост и порт текущего запроса и возвращает полную строку адреса.

Метод удобно использовать, когда нужно получить абсолютный адрес ресурса относительно корня сайта, например для генерации ссылок в письмах или API-ответах.

Синтаксис

public function getUriForPath(string $path): string

Пример

Давайте получим абсолютный URI для пути '/article':

<?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->getUriForPath('/article'); return new Response($res); } } ?>

Результат выполнения кода для адреса 'https://example.com/article':

"https://example.com/article"

Пример

Давайте получим абсолютный URI для вложенного пути '/user/profile':

<?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 UserController extends AbstractController { #[Route('/user', name: 'user_index')] public function index(Request $request): Response { $res = $request->getUriForPath('/user/profile'); return new Response($res); } } ?>

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

"https://example.com/user/profile"

Пример

Давайте получим абсолютный URI с нестандартным портом:

<?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 ApiController extends AbstractController { #[Route('/api', name: 'api_index')] public function index(Request $request): Response { $res = $request->getUriForPath('/api/data'); return new Response($res); } } ?>

Результат выполнения кода для адреса 'http://example.com:8080/api':

"http://example.com:8080/api/data"

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

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