51 lines
1.1 KiB
PHP
51 lines
1.1 KiB
PHP
<?php
|
|
|
|
class Session {
|
|
private $session;
|
|
|
|
public function __construct() {
|
|
if (!isset($_SESSION)) {
|
|
session_start();
|
|
$this->session = $_SESSION;
|
|
} else {
|
|
$this->session = $_SESSION;
|
|
}
|
|
$this->setToken();
|
|
}
|
|
|
|
public function setToken() {
|
|
if (!isset($this->session['token'])) {
|
|
$this->session['token'] = bin2hex(random_bytes(32));
|
|
}
|
|
}
|
|
|
|
public function set($key, $value) {
|
|
$this->session[$key] = $value;
|
|
}
|
|
|
|
public function get($key) {
|
|
return isset($this->session[$key]) ? $this->session[$key] : null;
|
|
}
|
|
|
|
public function flash($key) {
|
|
$return = $this->get($key);
|
|
$this->delete($key);
|
|
return $return;
|
|
}
|
|
|
|
public function debug() {
|
|
print_r($this->session);
|
|
}
|
|
|
|
public function delete($key) {
|
|
if (isset($this->session[$key])) {
|
|
unset($this->session[$key]);
|
|
}
|
|
}
|
|
|
|
public function write() {
|
|
$_SESSION = $this->session;
|
|
session_write_close();
|
|
}
|
|
|
|
} |