| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 | <?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|null     */    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.     *     * @return bool     */    public function isWrapper()    {        return $this->wrapper;    }    /**     * Has a session started?     *     * @return bool     */    public function isActive()    {        return \PHP_SESSION_ACTIVE === session_status();    }    /**     * Gets the session ID.     *     * @return string     */    public function getId()    {        return session_id();    }    /**     * Sets the session ID.     *     * @throws \LogicException     */    public function setId(string $id)    {        if ($this->isActive()) {            throw new \LogicException('Cannot change the ID of an active session.');        }        session_id($id);    }    /**     * Gets the session name.     *     * @return string     */    public function getName()    {        return session_name();    }    /**     * Sets the session name.     *     * @throws \LogicException     */    public function setName(string $name)    {        if ($this->isActive()) {            throw new \LogicException('Cannot change the name of an active session.');        }        session_name($name);    }}
 |