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

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

Метод all класса Session возвращает все данные, сохранённые в текущей сессии, в виде ассоциативного массива. Метод не принимает параметров и возвращает массив, где ключами являются имена сохранённых значений, а значениями - сами данные.

Синтаксис

public function all(): array

Пример

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

<?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/all', name: 'session_all')] public function all(Request $request): Response { $session = $request->getSession(); $session->set('name', 'abcde'); $session->set('role', 'user'); $session->set('count', 5); $res = $session->all(); return new Response(json_encode($res)); } } ?>

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

{"name":"abcde","role":"user","count":5}

Пример

Давайте сохраним вложенный массив и получим его через метод all:

<?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/nested', name: 'session_nested')] public function nested(Request $request): Response { $session = $request->getSession(); $session->set('user', [ 'login' => 'abcde', 'active' => true, ]); $session->set('items', [1, 2, 3, 4, 5]); $res = $session->all(); return new Response(json_encode($res)); } } ?>

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

{"user":{"login":"abcde","active":true},"items":[1,2,3,4,5]}

Пример

Если в сессии нет данных, метод all вернёт пустой массив:

<?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/empty', name: 'session_empty')] public function empty(Request $request): Response { $session = $request->getSession(); $session->clear(); $res = $session->all(); return new Response(json_encode($res)); } } ?>

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

[]

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

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