← Каталог
Работа с сессиями в PHP — 2. Обёртка для работы с сессиями
Фрагмент из «Работа с сессиями в PHP»: 2. Обёртка для работы с сессиями.
class SessionManager
{
public static function start(): void
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
}
public static function set(string $key, mixed $value): void
{
self::start();
$_SESSION[$key] = $value;
}
public static function get(string $key, mixed $default = null): mixed
{
self::start();
return $_SESSION[$key] ?? $default;
}
public static function regenerate(): void
{
self::start();
session_regenerate_id(true);
}
public static function destroy(): void
{
self::start();
$_SESSION = [];
session_destroy();
}
public static function isLoggedIn(): bool
{
return (bool) self::get('logged_in', false);
}
} class SessionManager
{
public static function start(): void
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
}
public static function set(string $key, mixed $value): void
{
self::start();
$_SESSION[$key] = $value;
}
public static function get(string $key, mixed $default = null): mixed
{
self::start();
return $_SESSION[$key] ?? $default;
}
public static function regenerate(): void
{
self::start();
session_regenerate_id(true);
}
public static function destroy(): void
{
self::start();
$_SESSION = [];
session_destroy();
}
public static function isLoggedIn(): bool
{
return (bool) self::get('logged_in', false);
}
}