annotate vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php @ 2:92f882872392

Trusted hosts, + remove migration modules
author Chris Cannam
date Tue, 05 Dec 2017 09:26:43 +0000
parents 4c8ae668cc8c
children 1fec387a4317
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 /*
Chris@0 4 * This file is part of the Symfony package.
Chris@0 5 *
Chris@0 6 * (c) Fabien Potencier <fabien@symfony.com>
Chris@0 7 *
Chris@0 8 * For the full copyright and license information, please view the LICENSE
Chris@0 9 * file that was distributed with this source code.
Chris@0 10 */
Chris@0 11
Chris@0 12 namespace Symfony\Component\HttpFoundation\Session\Storage\Proxy;
Chris@0 13
Chris@0 14 /**
Chris@0 15 * AbstractProxy.
Chris@0 16 *
Chris@0 17 * @author Drak <drak@zikula.org>
Chris@0 18 */
Chris@0 19 abstract class AbstractProxy
Chris@0 20 {
Chris@0 21 /**
Chris@0 22 * Flag if handler wraps an internal PHP session handler (using \SessionHandler).
Chris@0 23 *
Chris@0 24 * @var bool
Chris@0 25 */
Chris@0 26 protected $wrapper = false;
Chris@0 27
Chris@0 28 /**
Chris@0 29 * @var string
Chris@0 30 */
Chris@0 31 protected $saveHandlerName;
Chris@0 32
Chris@0 33 /**
Chris@0 34 * Gets the session.save_handler name.
Chris@0 35 *
Chris@0 36 * @return string
Chris@0 37 */
Chris@0 38 public function getSaveHandlerName()
Chris@0 39 {
Chris@0 40 return $this->saveHandlerName;
Chris@0 41 }
Chris@0 42
Chris@0 43 /**
Chris@0 44 * Is this proxy handler and instance of \SessionHandlerInterface.
Chris@0 45 *
Chris@0 46 * @return bool
Chris@0 47 */
Chris@0 48 public function isSessionHandlerInterface()
Chris@0 49 {
Chris@0 50 return $this instanceof \SessionHandlerInterface;
Chris@0 51 }
Chris@0 52
Chris@0 53 /**
Chris@0 54 * Returns true if this handler wraps an internal PHP session save handler using \SessionHandler.
Chris@0 55 *
Chris@0 56 * @return bool
Chris@0 57 */
Chris@0 58 public function isWrapper()
Chris@0 59 {
Chris@0 60 return $this->wrapper;
Chris@0 61 }
Chris@0 62
Chris@0 63 /**
Chris@0 64 * Has a session started?
Chris@0 65 *
Chris@0 66 * @return bool
Chris@0 67 */
Chris@0 68 public function isActive()
Chris@0 69 {
Chris@0 70 return \PHP_SESSION_ACTIVE === session_status();
Chris@0 71 }
Chris@0 72
Chris@0 73 /**
Chris@0 74 * Gets the session ID.
Chris@0 75 *
Chris@0 76 * @return string
Chris@0 77 */
Chris@0 78 public function getId()
Chris@0 79 {
Chris@0 80 return session_id();
Chris@0 81 }
Chris@0 82
Chris@0 83 /**
Chris@0 84 * Sets the session ID.
Chris@0 85 *
Chris@0 86 * @param string $id
Chris@0 87 *
Chris@0 88 * @throws \LogicException
Chris@0 89 */
Chris@0 90 public function setId($id)
Chris@0 91 {
Chris@0 92 if ($this->isActive()) {
Chris@0 93 throw new \LogicException('Cannot change the ID of an active session');
Chris@0 94 }
Chris@0 95
Chris@0 96 session_id($id);
Chris@0 97 }
Chris@0 98
Chris@0 99 /**
Chris@0 100 * Gets the session name.
Chris@0 101 *
Chris@0 102 * @return string
Chris@0 103 */
Chris@0 104 public function getName()
Chris@0 105 {
Chris@0 106 return session_name();
Chris@0 107 }
Chris@0 108
Chris@0 109 /**
Chris@0 110 * Sets the session name.
Chris@0 111 *
Chris@0 112 * @param string $name
Chris@0 113 *
Chris@0 114 * @throws \LogicException
Chris@0 115 */
Chris@0 116 public function setName($name)
Chris@0 117 {
Chris@0 118 if ($this->isActive()) {
Chris@0 119 throw new \LogicException('Cannot change the name of an active session');
Chris@0 120 }
Chris@0 121
Chris@0 122 session_name($name);
Chris@0 123 }
Chris@0 124 }