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

Атрибут Delete

Атрибут Delete вешается на метод контроллера и ограничивает его обработкой только DELETE-запросов. Первым параметром передаётся путь URL, вторым - имя маршрута. Это сокращённая форма атрибута Route с заданным методом запроса.

Синтаксис

#[Delete(path, name: name)]

Пример

Давайте повесим метод контроллера на DELETE-запрос по адресу '/article/{id}':

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

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

deleted 5

Пример

Давайте используем атрибут Delete вместе с методами render и redirectToRoute:

<?php namespace AppController; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; use SymfonyComponentRoutingAttributeDelete; use SymfonyComponentRoutingAttributeGet; class ArticleController extends AbstractController { #[Get('/article/{id}', name: 'article_show')] public function show(int $id): Response { return $this->render('article/show.html.twig', [ 'id' => $id, ]); } #[Delete('/article/{id}', name: 'article_delete')] public function delete(int $id): Response { return $this->redirectToRoute('article_index'); } #[Get('/', name: 'article_index')] public function index(): Response { return new Response('article index'); } } ?>

Шаблон для отображения статьи:

<p>article {{ id }}</p>

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

  • атрибут Route,
    который вешает метод контроллера на указанный URL
  • атрибут Get,
    который вешает обработчик на GET-запрос
  • атрибут Post,
    который вешает обработчик на POST-запрос
  • параметр methods,
    который задаёт методы HTTP-запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить