Laravel 中的中间件与服务容器详解
1. 创建自定义中间件
假设我们需要一个中间件,它能拒绝所有使用 DELETE HTTP 方法的请求,并且为每个请求发送一个 cookie。可以使用 Artisan 命令来创建自定义中间件:
php artisan make:middleware BanDeleteMethod
打开 app/Http/Middleware/BanDeleteMethod.php 文件,默认内容如下:
class BanDeleteMethod
{
public function handle($request, Closure $next)
{
return $next($request);
}
}
1.1 理解中间件的 handle() 方法
中间件是层层叠加的,最终覆盖在应用程序之上。当请求进来时,第一个注册的中间件会首先处理该请求,然后请求依次传递给其他中间件,最后到达应用程序。应用程序生成响应后,响应会反向通过中间件,最后第一个中间件会最后处理响应。
以下是一个伪代码示例,展示了中间件调用过程:
class BanDeleteMethod
{
public function handle($request, Closure $next)
{
Laravel中间件与服务容器详细解析
超级会员免费看
订阅专栏 解锁全文
108

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



