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

Атрибут Put

Атрибут Put вешается на метод контроллера и задаёт адрес страницы, доступный только для PUT-запросов. Первым параметром передаётся путь URL. После запроса Symfony вызывает метод и возвращает его ответ. Остальные параметры совпадают с атрибутом Route: name задаёт имя маршрута, requirements - регулярные ограничения, defaults - значения по умолчанию.

Синтаксис

#[Put(path, name: name)]

Пример

Давайте повесим метод контроллера на адрес '/article' и разрешим только PUT-запросы:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributePut; class ArticleController extends AbstractController { #[Put('/article', name: 'article_update')] public function update(): Response { return new Response('updated'); } } ?>

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

updated

Пример

Давайте примем параметр id из URL и вернём его в ответе:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributePut; class ArticleController extends AbstractController { #[Put('/article/{id}', name: 'article_update')] public function update(int $id): Response { return new Response('article ' . $id); } } ?>

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

article 5

Пример

Давайте ограничим параметр id только цифрами с помощью requirements:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributePut; use SymfonyComponentRoutingRequirementRequirement; class ArticleController extends AbstractController { #[Put('/article/{id}', name: 'article_update', requirements: ['id' => Requirement::DIGITS])] public function update(int $id): Response { return new Response('updated ' . $id); } } ?>

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

updated 10

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

  • атрибут Route,
    который вешает обработчик на любой HTTP-запрос
  • атрибут Patch,
    который вешает обработчик на PATCH-запрос
  • атрибут Delete,
    который вешает обработчик на DELETE-запрос
  • параметр methods,
    который задаёт разрешённые HTTP-методы маршрута
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить