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

Константа ULID

Константа ULID класса Requirement содержит регулярное выражение для проверки того, что значение параметра маршрута является корректным ULID-идентификатором. ULID (Universally Unique Lexicographically Sortable Identifier) - это 26-символьный идентификатор, состоящий из цифр и заглавных букв латинского алфавита. Константу удобно использовать в параметре requirements атрибута Route, чтобы ограничить допустимые значения маршрута.

Синтаксис

Requirement::ULID

Пример

Давайте ограничим параметр id маршрута так, чтобы он принимал только ULID:

<?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::ULID])] public function show(string $id): Response { return new Response($id); } } ?>

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

"01ARZ3NDEKTSV4RRFFQ69G5FAV"

Пример

Давайте убедимся, что при неверном ULID 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::ULID])] 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 для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить