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

Константа DIGITS класса Requirement

Константа DIGITS класса Requirement содержит регулярное выражение \d+. Она используется в параметре requirements атрибута Route или в настройках маршрута, чтобы ограничить значение параметра только цифрами. Если значение параметра не соответствует шаблону, Symfony не сопоставит маршрут и вернёт ошибку 404.

Синтаксис

Requirement::DIGITS

Пример

Давайте создадим маршрут с параметром id, который принимает только цифры:

<?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::DIGITS])] public function show(int $id): Response { return new Response('article ' . $id); } } ?>

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

"article 123"

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

404 Not Found

Пример

Давайте используем константу DIGITS в двух параметрах маршрута одновременно:

<?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('/user/{userId}/article/{articleId}', name: 'user_article', requirements: ['userId' => Requirement::DIGITS, 'articleId' => Requirement::DIGITS])] public function userArticle(int $userId, int $articleId): Response { return new Response('user ' . $userId . ', article ' . $articleId); } } ?>

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

"user 5, article 10"

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

404 Not Found

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

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