ofm*_*oon 2 closures middleware laravel
请尊重我是编程和Laravel的新手,所以这个问题对于大多数人来说似乎有些奇怪。
但是我认为这是stackoverflow的目的,所以:
当我使用命令创建一个新的中间件时,php artisan make:middleware setLocale已经有了handle-function并带有以下代码:
return $next($request);
我想知道这行到底是做什么的。
小智 8
$next($request)只是将请求传递给下一个处理程序。假设您添加了一个用于检查年龄限制的中间件。
public function handle($request, Closure $next)
{
if ($request->age <= 18) {
return redirect('home');
}
return $next($request);
}
Run Code Online (Sandbox Code Playgroud)
当年龄小于 18 时,它会重定向到 home 但当请求通过条件时,应该对请求做什么?它会将它传递给下一个处理程序。可能传递给注册用户方法或任何视图。
在文档中对此进行了解释:
要将请求更深地传递到应用程序中(允许中间件“传递”),请使用$ request调用$ next回调。
最好将中间件设想为一系列HTTP请求必须经过“层”才能到达您的应用程序。每一层都可以检查请求,甚至完全拒绝它。
https://laravel.com/docs/5.8/middleware#defining-middleware
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |