【发布时间】:2015-10-22 09:22:22
【问题描述】:
在我的 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 文件中没有提到我的方法。
在不重复自己的情况下实现此功能的最灵活、最优雅的方式是什么?
【问题讨论】:
-
仅仅因为答案不适合您,并不意味着您需要对其进行否决。无论如何,也反对你的问题。祝你好运
-
我投了反对票,因为你的代码很糟糕,而且比我已经拥有的要糟糕得多。
-
顺便说一句,因为butthurt而对好问题投反对票真的很可悲。
-
我们通过赞成票的数量而不是反对票的数量来计算一个好问题...
标签: php laravel laravel-5 laravel-middleware