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

Метод set класса ParameterBag

Метод set класса ParameterBag добавляет новый параметр в контейнер или изменяет значение уже существующего. Первым параметром передаётся имя ключа, вторым - его значение. Метод возвращает void и изменяет исходный объект ParameterBag. Обычно используется для модификации параметров запроса перед передачей их в контроллер.

Синтаксис

public function set(string $key, mixed $value): void

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ParameterBag; class BagController extends AbstractController { public function index(): Response { $bag = new ParameterBag(); $bag->set('name', 'abcde'); return new Response($bag->get('name')); } } ?>

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

"abcde"

Пример

Давайте передадим массив параметров при создании объекта, а затем перезапишем одно из значений через метод set:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ParameterBag; class BagController extends AbstractController { public function index(): Response { $bag = new ParameterBag([ 'name' => 'user', 'age' => 25, 'active' => true ]); $bag->set('age', 30); return new Response($bag->get('age')); } } ?>

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

"30"

Пример

Давайте добавим несколько параметров и выведем их через метод all:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\HttpFoundation\ParameterBag; class BagController extends AbstractController { public function index(): Response { $bag = new ParameterBag(); $bag->set('name', 'article'); $bag->set('price', 100); $bag->set('published', false); $res = $bag->all(); return new Response(json_encode($res)); } } ?>

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

{"name": "article", "price": 100, "published": false}

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

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