public function checkParams($required = [], $optional = [], $data = null)
{
$return_data = [];
if (is_null($data)) {
$data = $this->params;
}
// Checks required parameters.
foreach ($required as $name => $expectedType) {
if (!isset($data[$name])) {
throw new Exceptions\Exception('Required parameter is missing - ' . $name);
} else {
if ($expectedType !== null) {
$return_data[$name] = $this->requiredValue($name, $data[$name], $expectedType);
} else {
$return_data[$name] = $data[$name];
}
}
}
// Checks optional parameters.
foreach ($optional as $name => $expectedType) {
if (!isset($data[$name])) {
$return_data[$name] = null;
} else {
if ($expectedType !== null) {
$return_data[$name] = $this->optionalValue($name, $data[$name], $expectedType);
} else {
$return_data[$name] = $data[$name];
}
}
}
return $return_data;
}