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

Константа NETWORK_PATH

Константа NETWORK_PATH класса UrlGenerator используется при генерации маршрутов. Она передаётся третьим параметром в метод generate и указывает генератору создать URL вида //example.com/path - со схемой и хостом, но без указания протокола (без http: или https:) и без начального слеша в начале строки.

Такая форма ссылки удобна, когда протокол должен подставляться автоматически на стороне клиента: браузер сам выберет http: или https: в зависимости от текущего соединения.

Синтаксис

UrlGeneratorInterface::NETWORK_PATH

Пример

Давайте сгенерируем сетевой путь для маршрута article_index:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $url = $this->generateUrl( 'article_index', [], UrlGeneratorInterface::NETWORK_PATH ); return new Response($url); } } ?>

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

"//example.com/article"

Пример

Давайте сгенерируем сетевой путь для маршрута с параметром:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; class ArticleController extends AbstractController { #[Route('/user/{name}', name: 'article_user')] public function user(string $name): Response { $url = $this->generateUrl( 'article_user', ['name' => 'abcde'], UrlGeneratorInterface::NETWORK_PATH ); return new Response($url); } } ?>

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

"//example.com/user/abcde"

Сравнение с другими режимами

Для наглядности сравним результат генерации одного и того же маршрута в разных режимах:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; use Symfony\Component\Routing\Generator\UrlGeneratorInterface; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $absoluteUrl = $this->generateUrl( 'article_index', [], UrlGeneratorInterface::ABSOLUTE_URL ); $absolutePath = $this->generateUrl( 'article_index', [], UrlGeneratorInterface::ABSOLUTE_PATH ); $networkPath = $this->generateUrl( 'article_index', [], UrlGeneratorInterface::NETWORK_PATH ); $relativePath = $this->generateUrl( 'article_index', [], UrlGeneratorInterface::RELATIVE_PATH ); return new Response( $absoluteUrl . ' ' . $absolutePath . ' ' . $networkPath . ' ' . $relativePath ); } } ?>

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

"https://example.com/article /article //example.com/article ../article"

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

  • класс UrlGenerator,
    который генерирует URL по имени маршрута
  • метод generate,
    который принимает режим генерации третьим параметром
  • константа ABSOLUTE_URL,
    которая генерирует полный URL со схемой и хостом
  • константа ABSOLUTE_PATH,
    которая генерирует абсолютный путь без схемы и хоста
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить