在我的 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.');
}
}
我知道重复同一段代码(具有不同的数组内容)并不是最好的主意。相反,我正在寻找一些优雅的方式来实现同样的目标。
我想到了带参数的中间件,在 routes.php 中是这样的:
'middleware' => 'parameters:email,password,firstName,lastName'
目前我正在使用隐式控制器,所以routes.php
文件中没有提到我的方法。
在不重复自己的情况下实现此功能的最灵活和优雅的方式是什么?