Request.php
private function request(array $argv, array &$array, bool $removeHTML = false): self
    {
        $this->storage = null;
        $closure = function ($key) use ($removeHTML, &$array) {
            if (array_key_exists($key, $array)) {
                $this->storage[] = $removeHTML ? htmlspecialchars($array[$key]) : $array[$key];
                $array[$key] = null;    // by reference, if we validate it then we should ensure no one uses it
            } else {
                $this->storage[] = false;
            }
        };
        if (\count($argv) === 0 || !array_walk($argv, $closure)) {
            $this->storage = [];
        }
        return $this;
    }
private function request(array $argv, array &$array, bool $removeHTML = false): self
    {
        $this->storage = null;
        $closure = function ($key) use ($removeHTML, &$array) {
            if (array_key_exists($key, $array)) {
                $this->storage[] = $removeHTML ? htmlspecialchars($array[$key]) : $array[$key];
                $array[$key] = null;    // by reference, if we validate it then we should ensure no one uses it
            } else {
                $this->storage[] = false;
            }
        };
        if (\count($argv) === 0 || !array_walk($argv, $closure)) {
            $this->storage = [];
        }
        return $this;
    }
Request is a blanket method for other data validation procedures.
@param array $argv values should match the keys in the given set
@param array $array usually a transfer protocol ($_POST, $_GET, $_COOKIE)
@param bool $removeHTML if true htmlspecialchars() will be run on each member of the set
@link http://php.net/manual/en/function.htmlspecialchars.php
@return Request