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

Метод flush

Метод flush класса Session предназначен для полной очистки всех данных, хранящихся в текущей сессии. В отличие от метода forget, который удаляет только конкретные ключи, flush удаляет все ключи без возможности восстановления. Метод не принимает параметров и возвращает void. Обычно применяется при выходе пользователя из системы или при полной очистке сессионных данных.

Синтаксис

<?php session()->flush(); // или с использованием фасада Session use Illuminate\Support\Facades\Session; Session::flush(); ?>

Пример

Давайте добавим несколько значений в сессию, а затем полностью очистим их с помощью метода flush:

<?php use Illuminate\Support\Facades\Session; // Добавляем данные в сессию Session::put('user_id', 10); Session::put('user_name', 'JohnDoe'); Session::put('user_role', 'admin'); // Проверяем наличие данных echo session()->has('user_id') ? 'true' : 'false'; // "true" echo "\n"; echo session()->has('user_name') ? 'true' : 'false'; // "true" echo "\n"; // Очищаем всю сессию Session::flush(); // Проверяем, что данные удалены echo session()->has('user_id') ? 'true' : 'false'; // "false" echo "\n"; echo session()->has('user_name') ? 'true' : 'false'; // "false" ?>

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

"true" "true" "false" "false"

Пример

Рассмотрим использование метода flush в контроллере для выхода пользователя из системы:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Session; use Illuminate\Http\Request; class AuthController extends Controller { public function logout(Request $request) { // Очищаем все данные сессии Session::flush(); // Перегенерируем ID сессии для безопасности $request->session()->regenerate(); return redirect('/login')->with('status', 'Вы вышли из системы'); } } ?>

Пример

Сравним методы flush и forget для удаления данных из сессии:

<?php use Illuminate\Support\Facades\Session; // Добавляем данные Session::put('product_id', 555); Session::put('product_price', 999); Session::put('product_qty', 3); // forget удаляет только указанные ключи Session::forget(['product_price', 'product_qty']); echo session()->has('product_id') ? 'true' : 'false'; // "true" echo "\n"; echo session()->has('product_price') ? 'true' : 'false'; // "false" echo "\n"; // flush удаляет все оставшиеся данные Session::flush(); echo session()->has('product_id') ? 'true' : 'false'; // "false" ?>

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

"true" "false" "false"

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

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