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

Метод remove класса InputBag

Метод remove класса InputBag удаляет элемент из контейнера входных данных по его ключу. Первым параметром передаётся имя ключа, который нужно удалить. Метод не возвращает удалённое значение, а изменяет сам контейнер.

Синтаксис

public function remove(string $key): void

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\InputBag; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $bag = new InputBag(['user' => 'abcde', 'page' => 1]); $bag->remove('user'); return new Response(json_encode($bag->all())); } } ?>

Результат выполнения кода:

{"page":1}

Пример

Давайте удалим параметр page, значение которого было строкой:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\InputBag; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $bag = new InputBag(['user' => 'abcde', 'page' => '1']); $bag->remove('page'); return new Response(json_encode($bag->all())); } } ?>

Результат выполнения кода:

{"user":"abcde"}

Пример

Давайте удалим несуществующий параметр. Метод не вызовет ошибку, контейнер останется без изменений:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\InputBag; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(): Response { $bag = new InputBag(['user' => 'abcde']); $bag->remove('missing'); return new Response(json_encode($bag->all())); } } ?>

Результат выполнения кода:

{"user":"abcde"}

Пример

Давайте удалим параметр из запроса, полученного контроллером. Для этого извлечём контейнер через $request->request:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class ArticleController extends AbstractController { #[Route('/article', name: 'article_index')] public function index(Request $request): Response { $request->request->remove('user'); return new Response(json_encode($request->request->all())); } } ?>

Результат выполнения кода для тела запроса user=abcde&page=1:

{"page":"1"}

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

  • класс InputBag,
    который хранит входные данные запроса
  • метод get,
    который возвращает параметр по имени
  • метод has,
    который проверяет наличие параметра
  • метод set,
    который устанавливает параметр по имени
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить