在thinkphp中,在“app\middleware”目录下建立的类文件为中间件,主要用于拦截或者过滤应用的http请求,并进行必要的业务处理,可以分为全局中间件、路由中间件和控制器中间件。
本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。
一、中间件文件定义
在APP\middleware目录 下建 立的类文件,均为中间件,全局中间件、路由中间件、控制器中间件,均可以通过目录路径引用这些中间件。多应用应该在自己的应用目录下再新建middleware目录,再在下面建立类文件。
中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。
立即学习“PHP免费学习笔记(深入)”;
定义中间件:可以通过命令行指令快速生成中间件
php think make:middleware Check
这个指令会 application/http/middleware目录下面生成一个Check中间件。
二、中间件文件引用或叫使用
按一步骤建立中间件文件后
(一)作为全局间件使用
在APP目录下的middleware.php文件 中,加入一中的路径及文件, 比如 \app\middleware\chushimima::class, 这样就是作为全局中间件使用。在全局都起作用。
不在middleware.php中注册的中间件就不是全局中间件,根据定义方法不同分为路由中间件,控制器中间件。
(二)作为路由中间件使用
还是同一个中间件类文件\app\middleware\chushimima,在APP目录下的route目录下的路由定义文件 中,加入路由规则,比如
Route::rule('index/denglu','index/denglu'); ->middleware('\app\middleware\chushimima');
这样就是路由中间件,只在访问这个路由的时候起作用。
(三)作为控制器中间件使用
还是同一个中间件类文件\app\middleware\chushimima,在你的控制器文件中添加以下代码,比如
class Index extends baseController { protected $middleware='\app\middleware\chushimima';
推荐学习:《PHP视频教程》