Метод getName
Метод getName класса Session возвращает
имя текущей сессии. Имя сессии - это строка, которая
идентифицирует сессию в рамках приложения. По умолчанию
Symfony использует имя 'MOCKSESSID' в тестовом
окружении и 'PHPSESSID' в остальных случаях,
однако имя можно изменить через конфигурацию фреймворка.
Метод не принимает параметров и возвращает строку.
Синтаксис
$session->getName(): string
Пример
Давайте получим имя текущей сессии в контроллере:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Attribute\Route;
class SessionController extends AbstractController
{
#[Route('/session/name', name: 'session_name')]
public function name(Request $request): Response
{
$session = $request->getSession();
$res = $session->getName();
return new Response($res);
}
}
?>
Результат выполнения кода:
PHPSESSID
Пример
Давайте сравним имя сессии с ожидаемым значением:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Attribute\Route;
class SessionController extends AbstractController
{
#[Route('/session/check', name: 'session_check')]
public function check(Request $request): Response
{
$session = $request->getSession();
if ($session->getName() === 'PHPSESSID') {
$res = 'default session name';
} else {
$res = 'custom session name';
}
return new Response($res);
}
}
?>
Результат выполнения кода:
default session name