public static function validateParams($args, $methodInfo) { $result = array('_valid' => array()); if (!is_array($methodInfo)) { $result['_invalid'][] = 'Method not found'; return $result; } $methodsParams = $methodInfo['params']; if (preg_match_all('@\\/\\:(\\w+)@', $methodInfo['uri'], $match)) { if (isset($args['params'])) { foreach ($match[0] as $i => $value) { if (!isset($args['params'][$match[1][$i]])) { $result['_invalid'][] = 'Required parameter "' . $match[1][$i] . '" not found'; } } } else { $result['_invalid'][] = 'Required parameters not found: ' . implode(', ', $match[1]); } if (isset($result['_invalid'])) { return $result; } } if (isset($args['data'])) { $dataResult = RequestValidator::validateData($args['data'], $methodInfo); return array_merge($result, $dataResult); } return $result; }