. * */ namespace Vvveb\System; class Session { private $driver; public static function getInstance() { static $inst = null; if ($inst === null) { $driver = \Vvveb\config(APP . '.session.driver', 'php'); if ($driver) { $inst = new Session($driver); } } return $inst; } public function __construct($driver, $expire = 3600) { $class = '\\Vvveb\\System\\Session\\' . $driver; //if (class_exists($class)) { $options = \Vvveb\config(APP . '.session', []); $this->driver = new $class($options); /* } else { throw new \Exception('Error loading session driver ' . $driver); }*/ return $this->driver; } public function get($key) { return $this->driver ? $this->driver->get($key) : null; } public function set($key, $value) { return $this->driver ? $this->driver->set($key, $value) : null; } public function delete($key) { return $this->driver ? $this->driver->delete($key) : null; } public function close() { return $this->driver ? $this->driver->close() : null; } public function sessionId($id = null) { return $this->driver ? $this->driver->sessionId($id) : null; } public function regenerateId($deleteOldSession = false) { return $this->driver ? $this->driver->regenerateId($deleteOldSession) : null; } }