public function setDependencyInjector($dependencyInjector)
{
parent::setDependencyInjector($dependencyInjector);
if (!is_object($this->adapter)) {
$this->adapter = $this->_dependencyInjector->getShared($this->adapter);
}
$open = [$this->adapter, 'open'];
$close = [$this->adapter, 'close'];
$read = [$this->adapter, 'read'];
$write = [$this->adapter, 'write'];
$destroy = [$this->adapter, 'destroy'];
$gc = [$this->adapter, 'gc'];
session_set_save_handler($open, $close, $read, $write, $destroy, $gc);
if (!session_start()) {
throw new SessionException('session start failed: :last_error_message');
}
return $this;
}