params = []; foreach ($params as $name => $value) { $this->params[$name] = $value; } } /** * Returns all parameters and values as associative array * * @return array */ public function all() { return $this->params; } /** * Returns true if parameter is available * * @param string $name * * @return bool */ public function has($name) { return array_key_exists($name, $this->params); } /** * Returns the parameter value * * @param string $name * @param mixed|null $default * * @return mixed */ public function get($name, $default = null) { return isset($this->params[$name]) ? $this->params[$name] : $default; } /** * Returns the parameter value casted to boolean * * @param string $name * @param bool $default * * @return bool Returns true for "1", "true", "on" and "yes"; otherwise false */ public function getBool($name, $default = false) { return filter_var($this->get($name, $default), FILTER_VALIDATE_BOOLEAN); } /** * Returns the parameter value casted to integer * * @param string $name * @param int $default * * @return int */ public function getInt($name, $default = 0) { return (int)$this->get($name, $default); } /** * Returns a string with digits only (0-9) * * @param string $name * @param string $default * * @return string */ public function getDigits($name, $default = '') { return (string)preg_replace('#[^0-9]#', '', $this->get($name, $default)); } /** * Returns a string with alphabetic characters only (A-Z and a-z) * * @param string $name * @param string $default * * @return string */ public function getAlpha($name, $default = '') { return (string)preg_replace('#[^A-Za-z]#', '', $this->get($name, $default)); } /** * Returns a string with alphanumeric characters only (A-Z, a-z and 0-9) * * @param string $name * @param string $default * * @return string */ public function getAlphaNum($name, $default = '') { return (string)preg_replace('#[^A-Za-z0-9]#', '', $this->get($name, $default)); } /** * Returns a string with alphanumeric characters and dashes only (A-Z, a-z, 0-9, Minus and Underscore) * * @param string $name * @param string $default * * @return string */ public function getAlphaNumWithDashes($name, $default = '') { return (string)preg_replace('#[^A-Za-z0-9_-]#', '', $this->get($name, $default)); } }