thinkphp中间件的用法是什么
2022-11-24 11:02:51
145
{{single.collect_count}}

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

php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用

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

thinkphp中间件的用法是什么

一、中间件文件定义

在APP\middleware目录 下建 立的类文件,均为中间件,全局中间件、路由中间件、控制器中间件,均可以通过目录路径引用这些中间件。多应用应该在自己的应用目录下再新建middleware目录,再在下面建立类文件。

中间件主要用于拦截或过滤应用的HTTP请求,并进行必要的业务处理。

定义中间件:可以通过命令行指令快速生成中间件

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

以上就是thinkphp中间件的用法是什么的详细内容,更多请关注php中文网其它相关文章!

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}