rock\sanitize\Sanitize::sanitize PHP Method

sanitize() public method

Sanitize value.
public sanitize ( mixed $input ) : mixed
$input mixed
return mixed
    public function sanitize($input)
    {
        foreach ($this->rawRules as $rule) {
            if ($rule instanceof Attributes) {
                $config = ['remainder' => $this->remainder, 'recursive' => $this->recursive];
                Instance::configure($rule, $config);
                return $rule->sanitize($input);
            }
            $input = $rule->sanitize($input);
            if ($rule->recursive && (is_array($input) || is_object($input))) {
                $config['attributes'] = $this;
                return (new Attributes($config))->sanitize($input);
            }
        }
        return $input;
    }

Usage Example

Example #1
0
 protected function chain(Sanitize $sanitize, $input, $attribute)
 {
     $callback = function ($value) use($sanitize, $attribute) {
         if (is_array($value)) {
             if (!$this->recursive) {
                 return $value;
             }
             $this->attributes = is_array($this->attributes) && isset($this->attributes[$attribute]) ? $this->attributes[$attribute] : $this->attributes;
             return $this->sanitize($value);
         }
         return $sanitize->sanitize($value);
     };
     return ArrayHelper::updateValue($input, explode('.', $attribute), $callback);
 }