File size: 992B
<?php
namespace App\Core;
class Session
{
public static function start(): void
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
}
public static function set(string $key, $value): void { $_SESSION[$key] = $value; }
public static function get(string $key, $default = null) { return $_SESSION[$key] ?? $default; }
public static function has(string $key): bool { return isset($_SESSION[$key]); }
public static function remove(string $key): void { unset($_SESSION[$key]); }
public static function flash(string $key, $value = null)
{
if ($value !== null) {
$_SESSION['_flash'][$key] = $value;
} else {
$val = $_SESSION['_flash'][$key] ?? null;
unset($_SESSION['_flash'][$key]);
return $val;
}
}
public static function destroy(): void
{
$_SESSION = [];
session_destroy();
}
}