Source of file AbstractProxy.php
Size: 3,048 Bytes - Last Modified: 2013-07-17T08:22:21+02:00
/home/theseer/Downloads/Symfony/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/Proxy/AbstractProxy.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | <?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; /** * AbstractProxy. * * @author Drak <drak@zikula.org> */ abstract class AbstractProxy { /** * Flag if handler wraps an internal PHP session handler (using \SessionHandler). * * @var boolean */ protected $wrapper = false; /** * @var boolean */ protected $active = 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 boolean */ public function isSessionHandlerInterface() { return ($this instanceof \SessionHandlerInterface); } /** * Returns true if this handler wraps an internal PHP session save handler using \SessionHandler. * * @return Boolean */ public function isWrapper() { return $this->wrapper; } /** * Has a session started? * * @return Boolean */ public function isActive() { if (version_compare(phpversion(), '5.4.0', '>=')) { return $this->active = \PHP_SESSION_ACTIVE === session_status(); } return $this->active; } /** * Sets the active flag. * * Has no effect under PHP 5.4+ as status is detected * automatically in isActive() * * @internal * * @param Boolean $flag * * @throws \LogicException */ public function setActive($flag) { if (version_compare(phpversion(), '5.4.0', '>=')) { throw new \LogicException('This method is disabled in PHP 5.4.0+'); } $this->active = (bool) $flag; } /** * Gets the session ID. * * @return string */ 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. * * @return string */ public function getName() { return session_name(); } /** * Sets the session name. * * @param string $name * * @throws \LogicException */ public function setName($name) { if ($this->isActive()) { throw new \LogicException('Cannot change the name of an active session'); } session_name($name); } } |