Константа ABSOLUTE_URL
Константа ABSOLUTE_URL принадлежит классу
UrlGenerator и используется в качестве
третьего аргумента метода generate. Когда
она передана, сгенерированный адрес содержит
схему, хост и путь, например
https://example.com/article. Без этой
константы генерируется относительный путь.
Синтаксис
UrlGenerator::ABSOLUTE_URL
Пример
Давайте сгенерируем абсолютный URL для маршрута
article_index внутри контроллера:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
use SymfonyComponentRoutingGeneratorUrlGeneratorInterface;
class ArticleController extends AbstractController
{
#[Route('/article', name: 'article_index')]
public function index(UrlGeneratorInterface $urlGenerator): Response
{
$url = $urlGenerator->generate('article_index', [], UrlGeneratorInterface::ABSOLUTE_URL);
return new Response($url);
}
}
?>
Результат выполнения кода:
"https://example.com/article"
Пример
Давайте сгенерируем абсолютный URL с параметром
id из маршрута:
<?php
namespace AppController;
use SymfonyBundleFrameworkBundleControllerAbstractController;
use SymfonyComponentHttpFoundationResponse;
use SymfonyComponentRoutingAttributeRoute;
use SymfonyComponentRoutingGeneratorUrlGeneratorInterface;
class ArticleController extends AbstractController
{
#[Route('/article/{id}', name: 'article_show')]
public function show(int $id, UrlGeneratorInterface $urlGenerator): Response
{
$url = $urlGenerator->generate('article_show', ['id' => $id], UrlGeneratorInterface::ABSOLUTE_URL);
return new Response($url);
}
}
?>
Результат выполнения кода для id равного 5:
"https://example.com/article/5"
Смотрите также
-
класс
UrlGenerator,
который генерирует URL по имени маршрута -
метод
generate,
который создаёт URL для указанного маршрута -
константа
ABSOLUTE_PATH,
которая генерирует абсолютный путь без схемы и хоста -
константа
RELATIVE_PATH,
которая генерирует относительный путь