public function params($requestParams)
{
// apply type and default value for request params
$params = [];
foreach ($this->params as $param => $type) {
if (isset($requestParams[$param])) {
switch ($type) {
case 'bool':
case 'boolean':
$params[] = (bool) $requestParams[$param];
break;
case 'int':
case 'integer':
$params[] = (int) $requestParams[$param];
break;
case 'float':
$params[] = (double) $requestParams[$param];
break;
case 'string':
$params[] = (string) $requestParams[$param];
break;
case 'array':
$params[] = (array) $requestParams[$param];
break;
default:
$params[] = $requestParams[$param];
break;
}
} elseif (isset($this->values[$param])) {
$params[] = $this->values[$param];
} else {
$params[] = null;
}
}
return $params;
}