Делаю апишку, и задался вопросом, как лучше реализовать проверку обязательных параметров в методе? Чтобы в случае если обязательный параметр не был передан - то выдавать ошибку мол "Не указан обязательный параметр 'name'"
public function addCourse(string $name, array $dates, float $price, string $code): array
{
if (empty($name)) {
throw new Exception('Название курса не указано.');
}
if (empty($price)) {
throw new Exception('Цена курса не указана.');
}
if (empty($code)) {
throw new Exception('Код курса не указан.');
}
}
Не буду же я для каждой переменной вызывать exception.
Была идея сделать отдельный метод "validateRequiredFields" и передавать туда $_POST и массив с обязательными параметрами, но не знаю насколько правильно юзать такой варик
что-то по типу такого -
protected function validateRequiredFields(array $data, array $requiredFields): void
{
$missingFields = [];
foreach ($requiredFields as $field) {
if (empty($data[$field])) {
$missingFields[] = $field;
}
}
if (!empty($missingFields)) {
throw new Exception('Не указаны обязательные параметры: ' . implode(', ', $missingFields));
}
}
Буду рад вашим советам