You are here

public function SessionManager::__construct in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Session/SessionManager.php \Drupal\Core\Session\SessionManager::__construct()

Constructs a new session manager instance.

Parameters

\Symfony\Component\HttpFoundation\RequestStack $request_stack: The request stack.

\Drupal\Core\Database\Connection $connection: The database connection.

\Drupal\Core\Session\MetadataBag $metadata_bag: The session metadata bag.

\Drupal\Core\Session\SessionConfigurationInterface $session_configuration: The session configuration interface.

\Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy|Symfony\Component\HttpFoundation\Session\Storage\Handler\NativeSessionHandler|\SessionHandlerInterface|NULL $handler: The object to register as a PHP session handler. @see \Symfony\Component\HttpFoundation\Session\Storage\NativeSessionStorage::setSaveHandler()

Overrides NativeSessionStorage::__construct

File

core/lib/Drupal/Core/Session/SessionManager.php, line 90
Contains \Drupal\Core\Session\SessionManager.

Class

SessionManager
Manages user sessions.

Namespace

Drupal\Core\Session

Code

public function __construct(RequestStack $request_stack, Connection $connection, MetadataBag $metadata_bag, SessionConfigurationInterface $session_configuration, $handler = NULL) {
  $options = array();
  $this->sessionConfiguration = $session_configuration;
  $this->requestStack = $request_stack;
  $this->connection = $connection;
  parent::__construct($options, $handler, $metadata_bag);

  // @todo When not using the Symfony Session object, the list of bags in the
  //   NativeSessionStorage will remain uninitialized. This will lead to
  //   errors in NativeSessionHandler::loadSession. Remove this after
  //   https://www.drupal.org/node/2229145, when we will be using the Symfony
  //   session object (which registers an attribute bag with the
  //   manager upon instantiation).
  $this->bags = array();
}