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

Класс Session

Класс Session используется для управления данными сессии в приложении Laravel. Он предоставляет методы для сохранения, получения, удаления и проверки наличия значений в сессии. Класс доступен через фасад Session или через хелпер session. Основные операции включают запись данных с помощью put, чтение через get, удаление через forget и проверку существования через has.

Синтаксис

<?php // Через фасад use Illuminate\Support\Facades\Session; Session::put($key, $value); $value = Session::get($key, $default); // Через хелпер session()->put($key, $value); $value = session($key, $default); ?>

Пример

Давайте сохраним данные пользователя в сессии и извлечём их:

<?php namespace AppHttpControllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Session; class UserController extends Controller { public function store(Request $request) { Session::put('user_id', $request->user_id); Session::put('user_name', $request->user_name); $res = Session::get('user_name'); echo $res; } } ?>

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

"John Doe"

Пример

Давайте проверим наличие значения в сессии перед его извлечением:

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Session; class DashboardController extends Controller { public function index() { if (Session::has('user_id')) { $userId = Session::get('user_id'); $res = "User ID found: " . $userId; } else { $res = "User ID not found in session"; } echo $res; } } ?>

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

"User ID found: 5"

Пример

Давайте сохраним массив данных и добавим новый элемент в него:

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Session; class CartController extends Controller { public function addItem() { // Сохраняем массив товаров Session::put('cart', ['item_1', 'item_2']); // Добавляем новый товар Session::push('cart', 'item_3'); $res = Session::get('cart'); echo $res; } } ?>

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

["item_1", "item_2", "item_3"]

Пример

Давайте извлечём и удалим значение из сессии за один вызов:

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Session; class AuthController extends Controller { public function logout() { // Извлекаем и удаляем токен $token = Session::pull('auth_token'); $res = "Removed token: " . $token; echo $res; } } ?>

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

"Removed token: abc123xyz"

Пример

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

<?php namespace AppHttpControllers; use Illuminate\Support\Facades\Session; class MessageController extends Controller { public function setMessage() { Session::flash('success', 'Operation completed successfully'); $res = Session::get('success'); echo $res; } } ?>

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

"Operation completed successfully"

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

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