[扩展推荐] 向 Laravel 中的中间件传递参数
Has Parameters 是一个由 Tim MacDonald 开发的一个可以通过多种方式传递参数到中间件的 laravel 扩展。
下面是如何使用的例子 project’s readme:
以下是 Laravel 的 ThrottleRequests 中间件的一个简单例子:
class ThrottleRequests
{
use HasParameters;
public function handle($request, Closure $next, $maxAttempts = 60, $decayMinutes = 1, $prefix = '')
{
//
}
}
然后你可以在路由中这样使用它:
Route::stuff()
->middleware([
ThrottleRequests::with([
'maxAttempts' => 120,
]),
]);
从例子中可以发现,HasParameters
提供了一个 with()
方法用来处理具有默值得参数。
Readme 文件中描述了使用该扩展的一些好处:
[Has Parameters] 提供 IDE 静态解析的支持, 可以使用参数名称来指定参数,允许设置默认参数, 并且可以添加一些验证, 很好的避免的忘记参数的尴尬。
更多知识
Tim 写了一篇文章 (Rethinking Laravel’s middleware argument API) 以帮助你了解该扩展的产生背景以及引导你如何使用该扩展。
你可以从安装文档中获取该扩展的详细信息,GIthub 源码地址: timacdonald/has-parameters.
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。