Blame | Last modification | View Log | RSS feed
<?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\Attribute;/*** This class relates to session attribute storage.*/class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable{private $name = 'attributes';private $storageKey;protected $attributes = [];/*** @param string $storageKey The key used to store attributes in the session*/public function __construct(string $storageKey = '_sf2_attributes'){$this->storageKey = $storageKey;}/*** {@inheritdoc}*/public function getName(){return $this->name;}public function setName(string $name){$this->name = $name;}/*** {@inheritdoc}*/public function initialize(array &$attributes){$this->attributes = &$attributes;}/*** {@inheritdoc}*/public function getStorageKey(){return $this->storageKey;}/*** {@inheritdoc}*/public function has(string $name){return \array_key_exists($name, $this->attributes);}/*** {@inheritdoc}*/public function get(string $name, $default = null){return \array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default;}/*** {@inheritdoc}*/public function set(string $name, $value){$this->attributes[$name] = $value;}/*** {@inheritdoc}*/public function all(){return $this->attributes;}/*** {@inheritdoc}*/public function replace(array $attributes){$this->attributes = [];foreach ($attributes as $key => $value) {$this->set($key, $value);}}/*** {@inheritdoc}*/public function remove(string $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 = [];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);}}