19 class ParameterBag
implements \IteratorAggregate, \Countable
48 return array_keys($this->parameters);
64 $this->parameters = array_replace($this->parameters,
$parameters);
75 public function get($key, $default =
null)
77 return \array_key_exists($key, $this->parameters) ? $this->parameters[$key] : $default;
86 public function set($key, $value)
88 $this->parameters[$key] = $value;
98 public function has($key)
100 return \array_key_exists($key, $this->parameters);
108 public function remove($key)
110 unset($this->parameters[$key]);
123 return preg_replace(
'/[^[:alpha:]]/',
'', $this->
get($key, $default));
136 return preg_replace(
'/[^[:alnum:]]/',
'', $this->
get($key, $default));
150 return str_replace([
'-',
'+'],
'', $this->
filter($key, $default, FILTER_SANITIZE_NUMBER_INT));
161 public function getInt($key, $default = 0)
163 return (
int) $this->
get($key, $default);
176 return $this->
filter($key, $default, FILTER_VALIDATE_BOOLEAN);
191 public function filter($key, $default =
null, $filter = FILTER_DEFAULT, $options = [])
193 $value = $this->
get($key, $default);
196 if (!\is_array($options) && $options) {
197 $options = [
'flags' => $options];
201 if (\is_array($value) && !isset($options[
'flags'])) {
202 $options[
'flags'] = FILTER_REQUIRE_ARRAY;
205 return filter_var($value, $filter, $options);
215 return new \ArrayIterator($this->parameters);
225 return \count($this->parameters);