这篇文章给大家分享的是有关ThinkPHP6的前置中间件和后置中间件有什么区别的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
创新互联公司是专业的渝中网站建设公司,渝中接单;提供成都网站建设、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行渝中网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!一、定义的区别。
从官网手册中不难发现,前置中间件和后置中间件定义就不同,我们看下面。
前置中间件定义:
后置中间件:
仔细一看发现,说到底两者在定义的时候就是执行代码和$next($request)的顺序问题,也正是这个顺序才是前置中间件与后置中间件的关键所在。
二、$request不同。
我们可以分别在前置和后置中间件打印如下代码:
halt($request);我们仔细对比发现,前置中间件中的控制器和方法是空的,后置中间件却可以得到控制器名称和方法。所以如果我们想获取当前访问的控制器以及方法,就需要用后置中间件解决。
三、中间件拦截登录场景。
我们先看下官网关于中间件的定义:
中间件主要用于拦截或过滤应用的 HTTP 请求,并进行必要的业务处理。
看到官网的定义,小伙伴可能会想到,用中间件去做登录拦截真的是再好不过的呀。但是是用前置还是后置中间件呢?
后台首页:
public function index(){ echo '后台首页'; }执行结果会发现,在登录跳转前我们依然可以执行到index方法,并且可以把内容输出。
因此,后置中间件不能使用在登录场景,前置中间件是拦截登录很好的解决方案,这个时候还需要判断当前访问是不是登录,如果是登录的话,会出现多次重定向,所以这个小伙伴们一定要做好处理。
感谢各位的阅读!关于“ThinkPHP6的前置中间件和后置中间件有什么区别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
文章名称:ThinkPHP6的前置中间件和后置中间件有什么区别-创新互联
网站路径:http://cxhlcq.com/article/ccojes.html