dbms_primeidc/extdbms/lib/Http/Session.php
2025-04-10 18:32:33 +09:00

69 lines
1.3 KiB
PHP

<?php
namespace lib\Http;
class Session extends Http
{
public function __construct()
{
parent::__construct();
$this->start();
}
// 세션 시작
public function start(): void
{
if (session_status() === PHP_SESSION_NONE) {
session_start();
}
}
// 세션에 값 저장
public function set(string $key, $value): void
{
$_SESSION[$key] = $value;
}
// 세션에서 값 가져오기
public function get(string $key): mixed
{
return $_SESSION[$key] ?? null;
}
// 세션에서 값 삭제
public function remove(string $key): void
{
unset($_SESSION[$key]);
}
// 세션에 에러 메시지 설정
public function flash(string $key, $message): void
{
$_SESSION['flash'][$key] = $message;
}
// 세션에 입력값 설정 (입력값 유지)
public function flashInput(array $input): void
{
$_SESSION['flash']['input'] = $input;
}
// 세션에 flash 메시지가 있는지 확인
public function hasFlash(string $key): bool
{
return isset($_SESSION['flash'][$key]);
}
// flash 메시지 가져오기
public function getFlash(string $key): mixed
{
return $_SESSION['flash'][$key] ?? null;
}
// flash 메시지 삭제
public function clearFlash(): void
{
unset($_SESSION['flash']);
}
}