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