Mercurial > hg > cmmr2012-drupal-site
comparison vendor/symfony/http-foundation/Session/Attribute/AttributeBag.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children | a9cd425dd02b |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c75dbcec494b |
---|---|
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 } |