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

Константа UID_RFC4122

Константа UID_RFC4122 класса Requirement содержит строку регулярного выражения, которая соответствует UUID в каноническом формате RFC 4122. Она используется в параметре requirements атрибута Route, чтобы ограничить значение параметра маршрута только корректными UUID. Это удобно, когда в URL передаётся идентификатор сущности, хранящейся в виде UUID.

Синтаксис

Requirement::UID_RFC4122

Пример

Давайте создадим маршрут, который принимает UUID в формате RFC 4122 и возвращает его значение:

<?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\Requirement\Requirement; class ArticleController extends AbstractController { #[Route('/article/{id}', name: 'article_show', requirements: ['id' => Requirement::UID_RFC4122])] public function show(string $id): Response { return new Response($id); } } ?>

Результат выполнения кода для адреса /article/123e4567-e89b-12d3-a456-426614174000:

"123e4567-e89b-12d3-a456-426614174000"

Пример

Давайте убедимся, что при неверном UUID маршрут не будет найден и Symfony вернёт ошибку 404:

<?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\Requirement\Requirement; class ArticleController extends AbstractController { #[Route('/article/{id}', name: 'article_show', requirements: ['id' => Requirement::UID_RFC4122])] public function show(string $id): Response { return new Response($id); } } ?>

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

"No route found for GET /article/abcde"

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

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