Метод replace класса ParameterBag
Метод replace класса ParameterBag
полностью заменяет все текущие параметры
контейнера новым набором значений.
Первым параметром передаётся массив,
который становится новым содержимым сумки.
Все предыдущие параметры при этом удаляются.
Метод возвращает void, то есть ничего не возвращает.
Синтаксис
public function replace(array $parameters = []): void
Пример
Давайте создадим сумку с параметрами и заменим их новым набором:
<?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(['a' => 'abcde', 'b' => 'article']);
$bag->replace(['c' => 'user', 'd' => 'hello']);
return new Response(json_encode($bag->all()));
}
}
?>
Результат выполнения кода:
{"c":"user","d":"hello"}
Пример
Давайте заменим параметры пустым массивом и проверим результат:
<?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(['a' => 'abcde', 'b' => 'article']);
$bag->replace([]);
return new Response(json_encode($bag->all()));
}
}
?>
Результат выполнения кода:
[]
Смотрите также
-
класс
ParameterBag,
который хранит параметры запроса -
метод
set,
который устанавливает один параметр -
метод
add,
который добавляет параметры к существующим -
метод
all,
который возвращает все параметры