[ Index ]

PHP Cross Reference of phpBB-3.1.12-deutsch

title

Body

[close]

/vendor/symfony/http-foundation/Symfony/Component/HttpFoundation/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  
  21      /**
  22       * @var string
  23       */
  24      private $storageKey;
  25  
  26      /**
  27       * @var array
  28       */
  29      protected $attributes = array();
  30  
  31      /**
  32       * Constructor.
  33       *
  34       * @param string $storageKey The key used to store attributes in the session.
  35       */
  36      public function __construct($storageKey = '_sf2_attributes')
  37      {
  38          $this->storageKey = $storageKey;
  39      }
  40  
  41      /**
  42       * {@inheritdoc}
  43       */
  44      public function getName()
  45      {
  46          return $this->name;
  47      }
  48  
  49      public function setName($name)
  50      {
  51          $this->name = $name;
  52      }
  53  
  54      /**
  55       * {@inheritdoc}
  56       */
  57      public function initialize(array &$attributes)
  58      {
  59          $this->attributes = &$attributes;
  60      }
  61  
  62      /**
  63       * {@inheritdoc}
  64       */
  65      public function getStorageKey()
  66      {
  67          return $this->storageKey;
  68      }
  69  
  70      /**
  71       * {@inheritdoc}
  72       */
  73      public function has($name)
  74      {
  75          return array_key_exists($name, $this->attributes);
  76      }
  77  
  78      /**
  79       * {@inheritdoc}
  80       */
  81      public function get($name, $default = null)
  82      {
  83          return array_key_exists($name, $this->attributes) ? $this->attributes[$name] : $default;
  84      }
  85  
  86      /**
  87       * {@inheritdoc}
  88       */
  89      public function set($name, $value)
  90      {
  91          $this->attributes[$name] = $value;
  92      }
  93  
  94      /**
  95       * {@inheritdoc}
  96       */
  97      public function all()
  98      {
  99          return $this->attributes;
 100      }
 101  
 102      /**
 103       * {@inheritdoc}
 104       */
 105      public function replace(array $attributes)
 106      {
 107          $this->attributes = array();
 108          foreach ($attributes as $key => $value) {
 109              $this->set($key, $value);
 110          }
 111      }
 112  
 113      /**
 114       * {@inheritdoc}
 115       */
 116      public function remove($name)
 117      {
 118          $retval = null;
 119          if (array_key_exists($name, $this->attributes)) {
 120              $retval = $this->attributes[$name];
 121              unset($this->attributes[$name]);
 122          }
 123  
 124          return $retval;
 125      }
 126  
 127      /**
 128       * {@inheritdoc}
 129       */
 130      public function clear()
 131      {
 132          $return = $this->attributes;
 133          $this->attributes = array();
 134  
 135          return $return;
 136      }
 137  
 138      /**
 139       * Returns an iterator for attributes.
 140       *
 141       * @return \ArrayIterator An \ArrayIterator instance
 142       */
 143      public function getIterator()
 144      {
 145          return new \ArrayIterator($this->attributes);
 146      }
 147  
 148      /**
 149       * Returns the number of attributes.
 150       *
 151       * @return int The number of attributes
 152       */
 153      public function count()
 154      {
 155          return count($this->attributes);
 156      }
 157  }


Generated: Thu Jan 11 00:25:41 2018 Cross-referenced by PHPXref 0.7.1