请尊重我是编程和Laravel的新手,所以这个问题对于大多数人来说似乎有些奇怪。
但是我认为这就是stackoverflow的目的,所以:
当我使用命令php artisan make:middleware setLocale
创建新的中间件时,已经有了其中包含以下代码的handle
函数:
return $next($request);
我想知道这行到底是做什么的。
答案 0 :(得分:4)
在文档中对此进行了解释:
要将请求更深地传递到应用程序中(允许中间件“传递”),请使用$ request调用$ next回调。
最好将中间件设想为一系列HTTP请求必须经过“层”才能到达您的应用程序。每层都可以检查请求,甚至完全拒绝它。
答案 1 :(得分:1)
$next($request)
只是将请求传递给下一个处理程序。
假设您添加了一个用于检查年龄限制的中间件。
public function handle($request, Closure $next)
{
if ($request->age <= 18) {
return redirect('home');
}
return $next($request);
}
当年龄小于18岁时,它将重定向到首页,但是当请求通过条件时,应如何处理请求?它将传递给下一个处理程序。可能传递给注册用户方法或任何视图。