PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.20.0
GiveWP – Donation Plugin and Fundraising Platform v2.20.0
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / vendor / symfony / http-foundation / ParameterBag.php
give / vendor / symfony / http-foundation Last commit date
Exception 4 years ago File 4 years ago Session 4 years ago Tests 4 years ago AcceptHeader.php 4 years ago AcceptHeaderItem.php 4 years ago ApacheRequest.php 4 years ago BinaryFileResponse.php 4 years ago Cookie.php 4 years ago ExpressionRequestMatcher.php 4 years ago FileBag.php 4 years ago HeaderBag.php 4 years ago IpUtils.php 4 years ago JsonResponse.php 4 years ago LICENSE 4 years ago ParameterBag.php 4 years ago RedirectResponse.php 4 years ago Request.php 4 years ago RequestMatcher.php 4 years ago RequestMatcherInterface.php 4 years ago RequestStack.php 4 years ago Response.php 4 years ago ResponseHeaderBag.php 4 years ago ServerBag.php 4 years ago StreamedResponse.php 4 years ago
ParameterBag.php
235 lines
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;
13
14 /**
15 * ParameterBag is a container for key/value pairs.
16 *
17 * @author Fabien Potencier <fabien@symfony.com>
18 */
19 class ParameterBag implements \IteratorAggregate, \Countable
20 {
21 /**
22 * Parameter storage.
23 */
24 protected $parameters;
25
26 /**
27 * @param array $parameters An array of parameters
28 */
29 public function __construct(array $parameters = [])
30 {
31 $this->parameters = $parameters;
32 }
33
34 /**
35 * Returns the parameters.
36 *
37 * @return array An array of parameters
38 */
39 public function all()
40 {
41 return $this->parameters;
42 }
43
44 /**
45 * Returns the parameter keys.
46 *
47 * @return array An array of parameter keys
48 */
49 public function keys()
50 {
51 return array_keys($this->parameters);
52 }
53
54 /**
55 * Replaces the current parameters by a new set.
56 *
57 * @param array $parameters An array of parameters
58 */
59 public function replace(array $parameters = [])
60 {
61 $this->parameters = $parameters;
62 }
63
64 /**
65 * Adds parameters.
66 *
67 * @param array $parameters An array of parameters
68 */
69 public function add(array $parameters = [])
70 {
71 $this->parameters = array_replace($this->parameters, $parameters);
72 }
73
74 /**
75 * Returns a parameter by name.
76 *
77 * @param string $key The key
78 * @param mixed $default The default value if the parameter key does not exist
79 *
80 * @return mixed
81 */
82 public function get($key, $default = null)
83 {
84 return \array_key_exists($key, $this->parameters) ? $this->parameters[$key] : $default;
85 }
86
87 /**
88 * Sets a parameter by name.
89 *
90 * @param string $key The key
91 * @param mixed $value The value
92 */
93 public function set($key, $value)
94 {
95 $this->parameters[$key] = $value;
96 }
97
98 /**
99 * Returns true if the parameter is defined.
100 *
101 * @param string $key The key
102 *
103 * @return bool true if the parameter exists, false otherwise
104 */
105 public function has($key)
106 {
107 return \array_key_exists($key, $this->parameters);
108 }
109
110 /**
111 * Removes a parameter.
112 *
113 * @param string $key The key
114 */
115 public function remove($key)
116 {
117 unset($this->parameters[$key]);
118 }
119
120 /**
121 * Returns the alphabetic characters of the parameter value.
122 *
123 * @param string $key The parameter key
124 * @param string $default The default value if the parameter key does not exist
125 *
126 * @return string The filtered value
127 */
128 public function getAlpha($key, $default = '')
129 {
130 return preg_replace('/[^[:alpha:]]/', '', $this->get($key, $default));
131 }
132
133 /**
134 * Returns the alphabetic characters and digits of the parameter value.
135 *
136 * @param string $key The parameter key
137 * @param string $default The default value if the parameter key does not exist
138 *
139 * @return string The filtered value
140 */
141 public function getAlnum($key, $default = '')
142 {
143 return preg_replace('/[^[:alnum:]]/', '', $this->get($key, $default));
144 }
145
146 /**
147 * Returns the digits of the parameter value.
148 *
149 * @param string $key The parameter key
150 * @param string $default The default value if the parameter key does not exist
151 *
152 * @return string The filtered value
153 */
154 public function getDigits($key, $default = '')
155 {
156 // we need to remove - and + because they're allowed in the filter
157 return str_replace(['-', '+'], '', $this->filter($key, $default, \FILTER_SANITIZE_NUMBER_INT));
158 }
159
160 /**
161 * Returns the parameter value converted to integer.
162 *
163 * @param string $key The parameter key
164 * @param int $default The default value if the parameter key does not exist
165 *
166 * @return int The filtered value
167 */
168 public function getInt($key, $default = 0)
169 {
170 return (int) $this->get($key, $default);
171 }
172
173 /**
174 * Returns the parameter value converted to boolean.
175 *
176 * @param string $key The parameter key
177 * @param bool $default The default value if the parameter key does not exist
178 *
179 * @return bool The filtered value
180 */
181 public function getBoolean($key, $default = false)
182 {
183 return $this->filter($key, $default, \FILTER_VALIDATE_BOOLEAN);
184 }
185
186 /**
187 * Filter key.
188 *
189 * @param string $key Key
190 * @param mixed $default Default = null
191 * @param int $filter FILTER_* constant
192 * @param mixed $options Filter options
193 *
194 * @see https://php.net/filter-var
195 *
196 * @return mixed
197 */
198 public function filter($key, $default = null, $filter = \FILTER_DEFAULT, $options = [])
199 {
200 $value = $this->get($key, $default);
201
202 // Always turn $options into an array - this allows filter_var option shortcuts.
203 if (!\is_array($options) && $options) {
204 $options = ['flags' => $options];
205 }
206
207 // Add a convenience check for arrays.
208 if (\is_array($value) && !isset($options['flags'])) {
209 $options['flags'] = \FILTER_REQUIRE_ARRAY;
210 }
211
212 return filter_var($value, $filter, $options);
213 }
214
215 /**
216 * Returns an iterator for parameters.
217 *
218 * @return \ArrayIterator An \ArrayIterator instance
219 */
220 public function getIterator()
221 {
222 return new \ArrayIterator($this->parameters);
223 }
224
225 /**
226 * Returns the number of parameters.
227 *
228 * @return int The number of parameters
229 */
230 public function count()
231 {
232 return \count($this->parameters);
233 }
234 }
235