data[$key] = $value; } /** * @param string $key * @return mixed */ public function get(string $key) { if (!$this->exists($key)) { return null; } return $this->data[$key]; } /** * @param string $key * @return bool */ public function exists(string $key): bool { return isset($this->data[$key]); } /** * @param string $key */ public function remove(string $key) { unset($this->data[$key]); } public function clear() { $this->data = []; } /** * Stub since the session ID does not need to get regenerated for the cache * * @param bool $deleteOldSession */ public function regenerateId(bool $deleteOldSession = true, bool $updateToken = false) { } /** * Wrapper around session_id * * @return string * @throws SessionNotAvailableException * @since 9.1.0 */ public function getId(): string { throw new SessionNotAvailableException('Memory session does not have an ID'); } /** * Helper function for PHPUnit execution - don't use in non-test code */ public function reopen(): bool { $reopened = $this->sessionClosed; $this->sessionClosed = false; return $reopened; } }