在thinkphp中,在“APP\middleware”目录下建立的类文件为中间件,主要用于拦截或者过滤应用的HTTP请求,并进行必要的业务处理,可以分为全局中间件、路由中间件和控制器中间件。
本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。
一、中间件文件定义
在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';
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理