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

Метод isStarted

Метод isStarted класса Session возвращает true, если сессия уже запущена, и false в противном случае. Метод не принимает параметров и не изменяет состояние сессии. Он удобен для проверки перед вызовом start или при работе с данными сессии.

Синтаксис

public function isStarted(): bool

Пример

Давайте проверим, запущена ли сессия, до и после вызова метода start:

<?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/started', name: 'session_started')] public function index(Request $request): Response { $session = $request->getSession(); $before = $session->isStarted(); $session->start(); $after = $session->isStarted(); return new Response(var_export([$before, $after], true)); } } ?>

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

[false, true]

Пример

Давайте используем isStarted для безопасного чтения данных из сессии:

<?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/read', name: 'session_read')] public function read(Request $request): Response { $session = $request->getSession(); if (!$session->isStarted()) { $session->start(); } $user = $session->get('user', 'guest'); return new Response($user); } } ?>

Результат выполнения кода для адреса /session/read:

"guest"

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

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