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

Метод invalidate

Метод invalidate класса Session предназначен для полного уничтожения текущей сессии. При его вызове все данные, хранящиеся в сессии, очищаются, а сама сессия становится недействительной. Данный метод не принимает никаких параметров и возвращает значение типа bool, указывающее на успешность операции.

Синтаксис

<?php Session::invalidate(); ?>

Пример

Давайте добавим данные в сессию, а затем уничтожим её с помощью метода invalidate:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesSession; class SessionController extends Controller { public function store(Request $request) { Session::put('user', 'JohnDoe'); Session::put('role', 'admin'); $res = Session::all(); print_r($res); Session::invalidate(); $res = Session::all(); print_r($res); } } ?>

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

["user" => "JohnDoe", "role" => "admin"] []

Пример

Давайте проверим результат работы метода invalidate при вызове из маршрута:

Route::get('/session/clear', function () { Session::put('user', 'JohnDoe'); Session::put('role', 'admin'); echo "Before invalidate: "; print_r(Session::all()); $res = Session::invalidate(); echo "After invalidate: "; print_r(Session::all()); echo "Result: " . ($res ? 'true' : 'false'); });

Результат выполнения кода при переходе по адресу /session/clear:

"Before invalidate: ["user" => "JohnDoe", "role" => "admin"]" "After invalidate: []" "Result: true"

Пример

Продемонстрируем использование метода invalidate совместно с проверкой существования сессии:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; use IlluminateSupportFacadesSession; class AuthController extends Controller { public function logout(Request $request) { if (Session::has('user')) { $res = Session::invalidate(); if ($res) { echo "Session invalidated successfully"; } else { echo "Failed to invalidate session"; } } else { echo "No active session found"; } } } ?>

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

"Session invalidated successfully"

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

  • метод flush,
    который удаляет все данные из сессии
  • метод forget,
    который удаляет конкретный ключ из сессии
  • метод regenerate,
    который генерирует новый идентификатор сессии
  • метод pull,
    который извлекает и удаляет значение из сессии
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить