Как можно добиться многоуровневого возврата в функции PHP? - PullRequest
0 голосов
/ 22 мая 2018

Позвольте мне объяснить это.

Предположим, у нас есть функция - метод API с именем phone.add, и конечный пользователь вызывает http://example.com/api/v1/phone.add с некоторыми параметрами.Перед выполнением реальной функции где-нибудь в классе PhoneManager нам нужно выполнить 2 универсальные проверки - проверить параметры и права доступа.

Пусть метод phone.add API выглядит следующим образом:

function phone_add(string $param1, int $param2, callable $param3): float {
   //... validate $param1, $param2, $param3
   //... check access rights

   //... call PhoneManager::add()
   //... return result
}

Очевидно, что проверки могут завершиться неудачно, и соответствующий ответ должен быть сформирован и отправлен, но добавить его немного беспорядочноif (validation_failed(...)) return new Response(...) в каждом методе API, поэтому ... как можно вернуть из вложенной функции фактический окончательный ответ или как этот алгоритм (набор действий) должен быть реализован правильно?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...