| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | 
							- <?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($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 = [];
 
-         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 = [];
 
-         return $return;
 
-     }
 
-     /**
 
-      * Returns an iterator for attributes.
 
-      *
 
-      * @return \ArrayIterator An \ArrayIterator instance
 
-      */
 
-     #[\ReturnTypeWillChange]
 
-     public function getIterator()
 
-     {
 
-         return new \ArrayIterator($this->attributes);
 
-     }
 
-     /**
 
-      * Returns the number of attributes.
 
-      *
 
-      * @return int The number of attributes
 
-      */
 
-     #[\ReturnTypeWillChange]
 
-     public function count()
 
-     {
 
-         return \count($this->attributes);
 
-     }
 
- }
 
 
  |