Метод clear класса Session
Метод clear класса Session удаляет все данные,
хранящиеся в текущей сессии. После вызова метода сессия
становится пустой, но сама сессия при этом не уничтожается.
Метод не принимает параметров и не возвращает значения.
Синтаксис
public function clear(): 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('name', 'abcde');
$session->set('age', 25);
$session->set('city', 'user');
$session->clear();
$res = $session->all();
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
[]
Пример
Давайте проверим, что после вызова метода clear
ключи больше не существуют:
<?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('name', 'abcde');
$session->set('age', 25);
$session->clear();
$res = [
'name' => $session->has('name'),
'age' => $session->has('age'),
];
return new Response(json_encode($res));
}
}
?>
Результат выполнения кода:
{"name":false,"age":false}
Смотрите также
-
метод
remove,
который удаляет одно значение из сессии -
метод
all,
который возвращает все данные сессии -
метод
invalidate,
который очищает и уничтожает сессию -
класс
Session,
который управляет данными сессии