В моем приложении Laravel 5.1 у меня есть контроллер, который служит RESTful API. Многие методы этого контроллера имеют следующий фрагмент кода:
foreach (['email', 'password', 'firstName', 'lastName'] as $parameter) {
if (!$this->request->has($parameter)) {
throw new InputException(400, $parameter, 'Missing ' . $parameter . ' parameter.');
}
}
Я знаю, что повторять один и тот же фрагмент кода (с разным содержимым массива) — не лучшая идея. Вместо этого я ищу какой-нибудь элегантный способ добиться того же.
Я думал о промежуточном программном обеспечении с параметрами, что-то вроде этого в route.php:
'middleware' => 'parameters:email,password,firstName,lastName'
В настоящее время я использую неявные контроллеры, поэтому мои методы не упоминаются в файле routes.php
.
Каков наиболее гибкий и элегантный способ реализовать эту функциональность, не повторяясь?