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

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

Метод remove класса Session удаляет значение из сессии по указанному ключу. Первым параметром передаётся имя ключа. Если ключ отсутствует в сессии, метод просто ничего не делает и не выбрасывает исключение.

Синтаксис

public function remove(string $name): mixed

Пример

Давайте запишем значение в сессию, а затем удалим его методом remove:

<?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 SessionController extends AbstractController { #[Route('/session/remove', name: 'session_remove')] public function index(Request $request): Response { $session = $request->getSession(); $session->set('user', 'abcde'); $session->remove('user'); $res = $session->get('user'); return new Response(var_export($res, true)); } } ?>

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

null

Пример

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

<?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 SessionController extends AbstractController { #[Route('/session/remove-one', name: 'session_remove_one')] public function index(Request $request): Response { $session = $request->getSession(); $session->set('user', 'abcde'); $session->set('article', 'hello'); $session->set('count', 5); $session->remove('article'); $res = $session->all(); return new Response(var_export($res, true)); } } ?>

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

["user" => "abcde", "count" => 5]

Пример

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

<?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 SessionController extends AbstractController { #[Route('/session/remove-missing', name: 'session_remove_missing')] public function index(Request $request): Response { $session = $request->getSession(); $session->set('user', 'abcde'); $session->remove('unknown'); $res = $session->has('unknown'); return new Response(var_export($res, true)); } } ?>

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

false

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

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