/** * Sanitizing value. * @param mixed $value * @param int $mode * @return mixed */ public function sanitize($value, $mode = null) { if ($mode === null) { $mode = $this->sanitize; } if (is_array($value)) { $hash = md5(json_encode($value)); /* Optimize lazy loading */ if (isset(static::$_sanitizeCache[$hash])) { return static::$_sanitizeCache[$hash]; } return static::$_sanitizeCache[$hash] = ArrayHelper::map($value, function ($value) use($mode) { return $this->sanitizeValue($value, $mode); }, true); } return $this->sanitizeValue($value, $mode); }
/** * Replacing placeholders to URL-data. * @param array $placeholders * @return static */ public function replace(array $placeholders = []) { if (empty($placeholders)) { return $this; } $callback = function ($value) use($placeholders) { return StringHelper::replace($value, $placeholders, false); }; $this->data = ArrayHelper::map($this->data, $callback, true); return $this; }