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

Метод exists

Метод exists класса Session проверяет наличие ключа в сессии. В отличие от метода has, который возвращает false если значение ключа равно null, метод exists вернёт true даже если значение существует, но равно null. Первым параметром передаётся имя ключа или массив ключей для проверки. Возвращает логическое значение true если ключ существует, и false в противном случае.

Синтаксис

<?php Session::exists($key); ?>

Пример

Давайте проверим наличие ключа 'user_id' в сессии:

<?php use Illuminate\Support\Facades\Session; Session::put('user_id', 123); $res = Session::exists('user_id'); echo $res; ?>

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

"true"

Пример

Давайте проверим наличие ключа, который не был добавлен в сессию:

<?php use Illuminate\Support\Facades\Session; $res = Session::exists('non_existent_key'); echo $res; ?>

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

"false"

Пример

Проверим разницу между методами exists и has для ключа со значением null:

<?php use Illuminate\Support\Facades\Session; Session::put('empty_key', null); $existsRes = Session::exists('empty_key'); $hasRes = Session::has('empty_key'); echo "exists: " . $existsRes; echo "has: " . $hasRes; ?>

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

"exists: true" "has: false"

Пример

Давайте проверим наличие нескольких ключей одновременно. Метод вернёт true, если все ключи существуют:

<?php use Illuminate\Support\Facades\Session; Session::put('key1', 'abcde'); Session::put('key2', '12345'); $res = Session::exists(['key1', 'key2']); echo $res; ?>

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

"true"

Пример

Если хотя бы один из проверяемых ключей отсутствует, метод вернёт false:

<?php use Illuminate\Support\Facades\Session; Session::put('key1', 'abcde'); $res = Session::exists(['key1', 'missing_key']); echo $res; ?>

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

"false"

Пример

Используем метод exists в реальном примере контроллера для проверки авторизации пользователя:

<?php namespace App\Http\Controllers; use Illuminate\Support\Facades\Session; class ProfileController extends Controller { public function show() { if (Session::exists('user_id')) { $userId = Session::get('user_id'); return "User ID: " . $userId; } return "User not logged in"; } } ?>

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

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