class AttributeBag

This class relates to session attribute storage

Hierarchy

  • class \Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag implements \Symfony\Component\HttpFoundation\Session\Attribute\IteratorAggregate, \Symfony\Component\HttpFoundation\Session\Attribute\Countable, AttributeBagInterface

Expanded class hierarchy of AttributeBag

7 files declare their use of AttributeBag
AttributeBagTest.php in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Attribute/AttributeBagTest.php
MockArraySessionStorageTest.php in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockArraySessionStorageTest.php
MockFileSessionStorageTest.php in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/MockFileSessionStorageTest.php
NativeSessionStorageTest.php in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/NativeSessionStorageTest.php
PhpBridgeSessionStorageTest.php in drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Tests/Session/Storage/PhpBridgeSessionStorageTest.php

... See full list

File

drupal/core/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/Session/Attribute/AttributeBag.php, line 17

Namespace

Symfony\Component\HttpFoundation\Session\Attribute
View source
class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable {
  private $name = 'attributes';

  /**
   * @var string
   */
  private $storageKey;

  /**
   * @var array
   */
  protected $attributes = array();

  /**
   * Constructor.
   *
   * @param string $storageKey The key used to store attributes in the session.
   */
  public function __construct($storageKey = '_sf2_attributes') {
    $this->storageKey = $storageKey;
  }

  /**
   * {@inheritdoc}
   */
  public function getName() {
    return $this->name;
  }
  public function setName($name) {
    $this->name = $name;
  }

  /**
   * {@inheritdoc}
   */
  public function initialize(array &$attributes) {
    $this->attributes =& $attributes;
  }

  /**
   * {@inheritdoc}
   */
  public function getStorageKey() {
    return $this->storageKey;
  }

  /**
   * {@inheritdoc}
   */
  public function has($name) {
    return array_key_exists($name, $this->attributes);
  }

  /**
   * {@inheritdoc}
   */
  public function get($name, $default = null) {
    return array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default;
  }

  /**
   * {@inheritdoc}
   */
  public function set($name, $value) {
    $this->attributes[$name] = $value;
  }

  /**
   * {@inheritdoc}
   */
  public function all() {
    return $this->attributes;
  }

  /**
   * {@inheritdoc}
   */
  public function replace(array $attributes) {
    $this->attributes = array();
    foreach ($attributes as $key => $value) {
      $this
        ->set($key, $value);
    }
  }

  /**
   * {@inheritdoc}
   */
  public function remove($name) {
    $retval = null;
    if (array_key_exists($name, $this->attributes)) {
      $retval = $this->attributes[$name];
      unset($this->attributes[$name]);
    }
    return $retval;
  }

  /**
   * {@inheritdoc}
   */
  public function clear() {
    $return = $this->attributes;
    $this->attributes = array();
    return $return;
  }

  /**
   * Returns an iterator for attributes.
   *
   * @return \ArrayIterator An \ArrayIterator instance
   */
  public function getIterator() {
    return new \ArrayIterator($this->attributes);
  }

  /**
   * Returns the number of attributes.
   *
   * @return int The number of attributes
   */
  public function count() {
    return count($this->attributes);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AttributeBag::$attributes protected property
AttributeBag::$name private property
AttributeBag::$storageKey private property
AttributeBag::all public function Returns attributes. Overrides AttributeBagInterface::all
AttributeBag::clear public function Clears out data from bag. Overrides SessionBagInterface::clear
AttributeBag::count public function Returns the number of attributes.
AttributeBag::get public function Returns an attribute. Overrides AttributeBagInterface::get 1
AttributeBag::getIterator public function Returns an iterator for attributes.
AttributeBag::getName public function Gets this bag's name Overrides SessionBagInterface::getName
AttributeBag::getStorageKey public function Gets the storage key for this bag. Overrides SessionBagInterface::getStorageKey
AttributeBag::has public function Checks if an attribute is defined. Overrides AttributeBagInterface::has 1
AttributeBag::initialize public function Initializes the Bag Overrides SessionBagInterface::initialize
AttributeBag::remove public function Removes an attribute. Overrides AttributeBagInterface::remove 1
AttributeBag::replace public function Sets attributes. Overrides AttributeBagInterface::replace
AttributeBag::set public function Sets an attribute. Overrides AttributeBagInterface::set 1
AttributeBag::setName public function
AttributeBag::__construct public function Constructor. 1