SessionManager::save

public SessionManager::save()

Force the session to be saved and closed.

This method must invoke session_write_close() unless this interface is used for a storage object design for unit or functional testing where a real PHP session would interfere with testing, in which case it should actually persist the session data if required.

Throws

\RuntimeException If the session is saved without being started, or if the session is already closed.

Overrides NativeSessionStorage::save

File

core/lib/Drupal/Core/Session/SessionManager.php, line 177

Class

SessionManager
Manages user sessions.

Namespace

Drupal\Core\Session

Code

public function save() {
  if ($this->isCli()) {
    // We don't have anything to do if we are not allowed to save the session.
    return;
  }

  if ($this->isSessionObsolete()) {
    // There is no session data to store, destroy the session if it was
    // previously started.
    if ($this->getSaveHandler()->isActive()) {
      $this->destroy();
    }
  }
  else {
    // There is session data to store. Start the session if it is not already
    // started.
    if (!$this->getSaveHandler()->isActive()) {
      $this->startNow();
    }
    // Write the session data.
    parent::save();
  }

  $this->startedLazy = FALSE;
}
doc_Drupal
2016-10-29 09:42:05
Comments
Leave a Comment

Please login to continue.