[TOC]
## 1 Middleware的定义
### 1middleware类生成
>[danger] 使用think命令行
>`php think make:middleware Check`
>自动在应用目录app\http\middleware\目录中
>创建中间件模板类文件Check
### 2 middleware处理流程
>在app\http\middleware\Check文件的
>handle()添加中间件处理流程
## 2 Middleware注册方式
### 1 应用级别中间件
>[danger] 在应用目录app\middleware.php文件中注册的中间件
>
>各个模块各个路由的请求都会依次执行
### 2 模块级别中间件
>[danger] 在模块目录app\index\middleware.php文件中注册的中间件
>
>则在index模块的各个路由请求中都会依次执行
### 3 路由级别中间件
>[danger] 调用Route的middleware()方法注册的中间件
>则在当前路由请求中依次执行
## 3 Middleware调用流程
>[danger] 中间件的执行流程 是洋葱式的依次执行。
>简单的就是这种
>![](https://box.kancloud.cn/2972bdca4b0af6e6e9522bd4f5c5c72f_478x435.png)
>具体的就是这种
>![](https://box.kancloud.cn/5de48f887b071f949e804104bdaefd70_1034x133.png)
>