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

Метод replace класса Session

Метод replace класса Session полностью заменяет все данные текущей сессии новым массивом. Первым параметром передаётся ассоциативный массив с новыми данными сессии. Старые данные при этом полностью удаляются.

Синтаксис

public function replace(array $attributes): void

Пример

Давайте заменим все данные сессии новым массивом:

<?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 { $session = $request->getSession(); $session->set('user', 'abcde'); $session->set('role', 'admin'); $session->replace([ 'user' => 'hello', 'page' => 1 ]); return new Response($session->get('user')); } } ?>

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

"hello"

Пример

Давайте убедимся, что старые ключи сессии удаляются:

<?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 { $session = $request->getSession(); $session->set('role', 'admin'); $session->replace([ 'user' => 'abcde' ]); return new Response($session->has('role') ? 'yes' : 'no'); } } ?>

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

"no"

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

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