<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
/**
* @author Drak <drak@zikula.org>
abstract class AbstractProxy
{
* Flag if handler wraps an internal PHP session handler (using \SessionHandler).
* @var bool
protected $wrapper = false;
* @var string
protected $saveHandlerName;
* Gets the session.save_handler name.
* @return string
public function getSaveHandlerName()
return $this->saveHandlerName;
}
* Is this proxy handler and instance of \SessionHandlerInterface.
* @return bool
public function isSessionHandlerInterface()
return $this instanceof \SessionHandlerInterface;
* Returns true if this handler wraps an internal PHP session save handler using \SessionHandler.
public function isWrapper()
return $this->wrapper;
* Has a session started?
public function isActive()
return \PHP_SESSION_ACTIVE === session_status();
* Gets the session ID.
public function getId()
return session_id();
* Sets the session ID.
* @param string $id
* @throws \LogicException
public function setId($id)
if ($this->isActive()) {
throw new \LogicException('Cannot change the ID of an active session');
session_id($id);
* Gets the session name.
public function getName()
return session_name();
* Sets the session name.
* @param string $name
public function setName($name)
throw new \LogicException('Cannot change the name of an active session');
session_name($name);