Метод getSchemeAndHttpHost
Метод getSchemeAndHttpHost принадлежит классу Request
и возвращает строку, состоящую из схемы запроса
(например, 'http' или 'https') и HTTP-хоста
(например, 'example.com'). Метод не принимает параметров
и объединяет результаты работы методов getScheme
и getHttpHost. Удобно применять для построения
абсолютных URL.
Синтаксис
public function getSchemeAndHttpHost(): string
Пример
Давайте получим схему и хост текущего запроса внутри контроллера:
<?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->getSchemeAndHttpHost();
return new Response($res);
}
}
?>
Результат выполнения кода для адреса https://example.com/article:
https://example.com
Пример
Давайте построим абсолютный URL, объединив результат метода с путём:
<?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->getSchemeAndHttpHost() . '/user';
return new Response($res);
}
}
?>
Результат выполнения кода для адреса https://example.com/article:
https://example.com/user