diff options
| author | David T. Sadler <davidtsadler@googlemail.com> | 2021-11-13 09:22:25 +0000 |
|---|---|---|
| committer | David T. Sadler <davidtsadler@googlemail.com> | 2021-11-13 09:22:25 +0000 |
| commit | 40997195b7ee07cb1bda978186c1804371e1f16e (patch) | |
| tree | 17a6e4bd6eaca795cfa8d57b9aa6ea8ad7066593 /src/DTS/Session.php | |
| parent | 35dc6c245d93560d7ac81df6323e8b22e571aa95 (diff) | |
Create site
Diffstat (limited to 'src/DTS/Session.php')
| -rw-r--r-- | src/DTS/Session.php | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/DTS/Session.php b/src/DTS/Session.php new file mode 100644 index 0000000..35be1fe --- /dev/null +++ b/src/DTS/Session.php @@ -0,0 +1,41 @@ +<?php + +declare(strict_types=1); + +namespace DTS; + +class Session +{ + private static ?self $instance = null; + + private array $session = []; + + public static function getInstance() + { + if (!self::$instance) { + self::$instance = new self(); + } + + return self::$instance; + } + + private function __construct() + { + session_start(); + + foreach ($_SESSION as $key => $value) { + $this->session[$key] = $value; + unset($_SESSION[$key]); + } + } + + public function set(string $key, $value): void + { + $this->session[$key] = $_SESSION[$key] = $value; + } + + public function get(string $key, $default = null) + { + return $this->session[$key] ?? $default; + } +} |
