插件窝 干货文章 thinkphp中间件的用法是什么

thinkphp中间件的用法是什么

中间件 middleware 文件 路由 492    来源:    2024-10-27
在thinkphp中,在“app\middleware”目录下建立的类文件为中间件,主要用于拦截或者过滤应用的http请求,并进行必要的业务处理,可以分为全局中间件、路由中间件和控制器中间件。

本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。

thinkphp中间件的用法是什么

一、中间件文件定义

在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视频教程》