public function makeSessionStorage()
{
$storage = $this->config->get('session.storage');
if ($storage == 'mock_array') {
return new MockArraySessionStorage();
}
if ($storage == 'mock_file') {
return new MockFileSessionStorage();
}
$handler = $this->dic->resolve('SessionHandlerInterface');
if ($storage == 'bridge') {
return new PhpBridgeSessionStorage($handler);
}
$options = $this->config->get('session.storage_options', []);
if ($storage == 'native') {
return new NativeSessionStorage($options, $handler);
}
if (!is_string($storage)) {
$storage = gettype($storage);
}
throw new \RuntimeException("Unknown session storage driver: {$storage}");
}