sessionKey = uniqid('', TRUE); } /** * @param string $sessionKey * @return void */ public function setSessionKey($sessionKey) { $this->sessionKey = $sessionKey; } /** * Returns the current session key * * @return string */ public function getSessionKey() { return $this->sessionKey; } /** * Exchanges the complete session data * * @param mixed $data * @return void */ public function exchangeData($data) { $this->destroy(); $_SESSION[$this->sessionKey] = $data; } /** * Returns the complete session data * * @return mixed */ public function getData() { return $_SESSION[$this->sessionKey]; } /** * Sets data inside the session below the given key * * @param string $key * @param mixed $data * @return void */ public function setDataByKey($key, $data) { $_SESSION[$this->sessionKey][$key] = $data; } /** * Returns data of the session defined by the given key * * @param string $key * @return mixed */ public function getDataByKey($key) { return $_SESSION[$this->sessionKey][$key] ?? ''; } /** * Removes data defined by the given key. * * @param string $key * @return void */ public function unsetDataByKey($key) { unset($_SESSION[$this->sessionKey][$key]); } /** * Removes all session data * * @return void */ public function destroy() { unset($_SESSION[$this->sessionKey]); } }