You are here

public function SessionManager::save in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Session/SessionManager.php \Drupal\Core\Session\SessionManager::save()
  2. 10 core/lib/Drupal/Core/Session/SessionManager.php \Drupal\Core\Session\SessionManager::save()

File

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

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;
}