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

Метод get класса Session

Метод get класса Session возвращает значение, хранящееся в сессии по указанному ключу. Первым параметром передаётся имя ключа, вторым необязательным параметром - значение по умолчанию, которое будет возвращено, если ключ в сессии отсутствует. Если ключа нет и значение по умолчанию не задано, метод возвращает null.

Синтаксис

public function get(string $name, mixed $default = null): mixed

Пример

Давайте запишем значение в сессию и затем прочитаем его методом get:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class SessionController extends AbstractController { #[Route('/session/get', name: 'session_get')] public function index(Request $request): Response { $session = $request->getSession(); $session->set('user', 'abcde'); $res = $session->get('user'); return new Response($res); } } ?>

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

abcde

Пример

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

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class SessionController extends AbstractController { #[Route('/session/default', name: 'session_default')] public function index(Request $request): Response { $session = $request->getSession(); $res = $session->get('missing', 'hello'); return new Response($res); } } ?>

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

hello

Пример

Давайте прочитаем ключ, которого нет в сессии, без значения по умолчанию. Метод вернёт null:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class SessionController extends AbstractController { #[Route('/session/null', name: 'session_null')] public function index(Request $request): Response { $session = $request->getSession(); $res = $session->get('missing'); var_dump($res); return new Response('done'); } } ?>

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

NULL

Пример

Давайте сохраним в сессии массив и прочитаем его методом get:

<?php namespace App\Controller; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Attribute\Route; class SessionController extends AbstractController { #[Route('/session/array', name: 'session_array')] public function index(Request $request): Response { $session = $request->getSession(); $session->set('items', ['a', 'b', 'c', 'd', 'e']); $res = $session->get('items'); return new Response(implode(', ', $res)); } } ?>

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

a, b, c, d, e

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

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