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

Метод regenerate

Метод regenerate класса Session применяется для создания нового идентификатора сессии при сохранении всех данных сессии. Этот метод автоматически генерирует новый уникальный ID сессии, заменяет старый в хранилище и обновляет cookie клиента. Первым параметром метод принимает булево значение $destroy, которое определяет, нужно ли удалять старую сессию. По умолчанию передаётся false, что означает сохранение старых данных.

Синтаксис

<?php session()->regenerate($destroy = false); ?>

Пример

Давайте перегенерируем идентификатор сессии при входе пользователя в систему:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class AuthController extends Controller { public function login(Request $request) { // ... логика аутентификации session()->regenerate(); return redirect('/dashboard'); } } ?>

Пример

Давайте перегенерируем идентификатор сессии с удалением старой сессии:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function logout(Request $request) { session()->regenerate(true); return redirect('/login'); } } ?>

Пример

Давайте используем метод regenerate через фасад Session:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Session; class ProfileController extends Controller { public function update(Request $request) { // ... логика обновления профиля Session::regenerate(); return back(); } } ?>

Пример

Давайте проверим, изменился ли идентификатор сессии после перегенерации:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; class SessionController extends Controller { public function check(Request $request) { $oldId = session()->getId(); session()->regenerate(); $newId = session()->getId(); echo "Old ID: " . $oldId; echo "New ID: " . $newId; } } ?>

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

"Old ID: 8f3d4a6c2b1e9f7d" "New ID: 5e7f2d1c9b3a4f8e"

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

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