[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/symfony/http-foundation/Session/Attribute/ -> AttributeBag.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <fabien@symfony.com>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Component\HttpFoundation\Session\Attribute;
  13  
  14  /**
  15   * This class relates to session attribute storage.
  16   */
  17  class AttributeBag implements AttributeBagInterface, \IteratorAggregate, \Countable
  18  {
  19      private $name = 'attributes';
  20      private $storageKey;
  21  
  22      protected $attributes = array();
  23  
  24      /**
  25       * @param string $storageKey The key used to store attributes in the session
  26       */
  27      public function __construct($storageKey = '_sf2_attributes')
  28      {
  29          $this->storageKey = $storageKey;
  30      }
  31  
  32      /**
  33       * {@inheritdoc}
  34       */
  35      public function getName()
  36      {
  37          return $this->name;
  38      }
  39  
  40      public function setName($name)
  41      {
  42          $this->name = $name;
  43      }
  44  
  45      /**
  46       * {@inheritdoc}
  47       */
  48      public function initialize(array &$attributes)
  49      {
  50          $this->attributes = &$attributes;
  51      }
  52  
  53      /**
  54       * {@inheritdoc}
  55       */
  56      public function getStorageKey()
  57      {
  58          return $this->storageKey;
  59      }
  60  
  61      /**
  62       * {@inheritdoc}
  63       */
  64      public function has($name)
  65      {
  66          return array_key_exists($name, $this->attributes);
  67      }
  68  
  69      /**
  70       * {@inheritdoc}
  71       */
  72      public function get($name, $default = null)
  73      {
  74          return array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default;
  75      }
  76  
  77      /**
  78       * {@inheritdoc}
  79       */
  80      public function set($name, $value)
  81      {
  82          $this->attributes[$name] = $value;
  83      }
  84  
  85      /**
  86       * {@inheritdoc}
  87       */
  88      public function all()
  89      {
  90          return $this->attributes;
  91      }
  92  
  93      /**
  94       * {@inheritdoc}
  95       */
  96      public function replace(array $attributes)
  97      {
  98          $this->attributes = array();
  99          foreach ($attributes as $key => $value) {
 100              $this->set($key, $value);
 101          }
 102      }
 103  
 104      /**
 105       * {@inheritdoc}
 106       */
 107      public function remove($name)
 108      {
 109          $retval = null;
 110          if (array_key_exists($name, $this->attributes)) {
 111              $retval = $this->attributes[$name];
 112              unset($this->attributes[$name]);
 113          }
 114  
 115          return $retval;
 116      }
 117  
 118      /**
 119       * {@inheritdoc}
 120       */
 121      public function clear()
 122      {
 123          $return = $this->attributes;
 124          $this->attributes = array();
 125  
 126          return $return;
 127      }
 128  
 129      /**
 130       * Returns an iterator for attributes.
 131       *
 132       * @return \ArrayIterator An \ArrayIterator instance
 133       */
 134      public function getIterator()
 135      {
 136          return new \ArrayIterator($this->attributes);
 137      }
 138  
 139      /**
 140       * Returns the number of attributes.
 141       *
 142       * @return int The number of attributes
 143       */
 144      public function count()
 145      {
 146          return \count($this->attributes);
 147      }
 148  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1