settings = $settings; // Ensure session is started if (session_status() === PHP_SESSION_NONE) { session_start(); } } /** * Get a session item. * * @param string $key * @param mixed $default * @return mixed */ public function get(string $key, $default = null) { return $_SESSION[$key] ?? $default; } /** * Set a session item. * * @param string $key * @param mixed $value */ public function set(string $key, $value): void { $_SESSION[$key] = $value; } /** * Alias for set. * * @param string $key * @param mixed $value */ public function put(string $key, $value): void { $this->set($key, $value); } /** * Check if a session item exists. * * @param string $key * @return bool */ public function has(string $key): bool { return isset($_SESSION[$key]); } /** * Remove a session item. * * @param string $key */ public function forget(string $key): void { unset($_SESSION[$key]); } /** * Remove all session items. */ public function flush(): void { $_SESSION = []; } /** * Get all session data. * * @return array */ public function all(): array { return $_SESSION; }}