You are here

abstract class AbstractProxy in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php \Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy

AbstractProxy.

@author Drak <drak@zikula.org>

Hierarchy

  • class \Symfony\Component\HttpFoundation\Session\Storage\Proxy\AbstractProxy

Expanded class hierarchy of AbstractProxy

4 files declare their use of AbstractProxy
AbstractProxyTest.php in vendor/symfony/http-foundation/Tests/Session/Storage/Proxy/AbstractProxyTest.php
NativeSessionStorage.php in vendor/symfony/http-foundation/Session/Storage/NativeSessionStorage.php
PhpBridgeSessionStorage.php in vendor/symfony/http-foundation/Session/Storage/PhpBridgeSessionStorage.php
SessionHandler.php in core/lib/Drupal/Core/Session/SessionHandler.php
Contains \Drupal\Core\Session\SessionHandler.

File

vendor/symfony/http-foundation/Session/Storage/Proxy/AbstractProxy.php, line 19

Namespace

Symfony\Component\HttpFoundation\Session\Storage\Proxy
View source
abstract class AbstractProxy {

  /**
   * Flag if handler wraps an internal PHP session handler (using \SessionHandler).
   *
   * @var bool
   */
  protected $wrapper = false;

  /**
   * @var bool
   */
  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 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() {
    if (PHP_VERSION_ID >= 50400) {
      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 bool $flag
   *
   * @throws \LogicException
   */
  public function setActive($flag) {
    if (PHP_VERSION_ID >= 50400) {
      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);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AbstractProxy::$active protected property
AbstractProxy::$saveHandlerName protected property
AbstractProxy::$wrapper protected property Flag if handler wraps an internal PHP session handler (using \SessionHandler).
AbstractProxy::getId public function Gets the session ID.
AbstractProxy::getName public function Gets the session name.
AbstractProxy::getSaveHandlerName public function Gets the session.save_handler name.
AbstractProxy::isActive public function Has a session started?
AbstractProxy::isSessionHandlerInterface public function Is this proxy handler and instance of \SessionHandlerInterface.
AbstractProxy::isWrapper public function Returns true if this handler wraps an internal PHP session save handler using \SessionHandler. 1
AbstractProxy::setActive public function Sets the active flag.
AbstractProxy::setId public function Sets the session ID.
AbstractProxy::setName public function Sets the session name.