1.定义中间件
生成中间件
<?php
namespace App\Http\Middleware;
use Closure;
class OldMiddleware
{
/**
* 返回请求过滤器
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ($request->input('age') <= 200) {
return redirect('home');
}
return $next($request);
}
}
中间件的行为在请求执行前还是执行后,取决于中间件本身
2.注册中间件
全局中间件
如果你想要中间件在每一个HTTP请求期间被执行,只需要将相应的中间件类放到app/Http/Kernel.php的数组属性$middleware中即可
分配中间件到路由
控制器中使用中间件
public function __construct() {
return $this->middleware(['middlewarename'])->except(['index']);
}
3.中间件参数
中间件还可以接收额外的自定义参数,比如,如果应用需要在执行动作之前验证认证用户是否拥有指定的角色,可以创建一个RoleMiddleware来接收角色名作为额外参数。
本文详细介绍了PHP中间件的概念,包括如何定义一个中间件如`OldMiddleware`,处理请求并进行条件重定向。接着阐述了中间件的注册,包括全局中间件的设置和特定路由或控制器的分配。此外,还讨论了中间件接收额外参数的能力,如在执行操作前验证用户角色。最后提到了可终止的中间件,暗示了中间件在处理流程中的灵活性。







1156

被折叠的 条评论
为什么被折叠?



