sessionWritable = $session_writable; } /** * {@inheritdoc} */ public function read(#[\SensitiveParameter] string $session_id): string { $value = $this->handler->read($session_id); $this->readSessions[$session_id] = $value; return $value; } /** * {@inheritdoc} */ public function write(#[\SensitiveParameter] string $session_id, string $session_data): bool { // Only write the session when it has been modified. if (isset($this->readSessions[$session_id]) && $this->readSessions[$session_id] === $session_data) { return TRUE; } if ($this->isSessionWritable()) { return $this->handler->write($session_id, $session_data); } return TRUE; } /** * {@inheritdoc} */ public function setSessionWritable($flag) { $this->sessionWritable = (bool) $flag; } /** * {@inheritdoc} */ public function isSessionWritable() { return $this->sessionWritable; } }