首页 > 编程知识 正文

中间件和接口的区别,thinkphp5和6的区别

时间:2023-05-04 00:24:15 阅读:37994 作者:2605

在前面的示例中,我们学习了中间件的定义,也了解了中间件的含义,然后向下翻了一下手册,发现了一个称为“前中间件”和“后中间件”的东西。 这个怎么样? 两者又有区别吗?

一、定义差异。 从官方网站文档可以看出,前置中间件和后置中间件的定义不同。 请看以下内容。

前置中间件定义:

? phpnamespace appmiddleware; class before { publicfunctionhandle $ request,closure$next}{//中间件执行代码return $next($request; }后中间件:

? phpnamespace appmiddleware; class after { publicfunction handle $ request, closure $ next } { $ response=$ next $ request }; //添加中间件执行代码return $response仔细看,两者本来就是定义时执行代码和$next($request )顺序的问题,这个顺序才是前中间件和后中间件的关键

二、$request不是。 可以在前置中间件和后置中间件上分别打印以下代码:

halt($request; 仔细比较后,前中间件的控制器和方法为空,但后中间件可以获取控制器的名称和方法。 因此,如果您想获取当前访问的控制器和方法,则需要使用后中间件进行解决。

三、中间件拦截登录场景。 首先,让我们来看看中间件的定义。

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

从官方网站的定义来看,你可能觉得使用中间件进行登录监听真的是一件好事。 但是,要使用前台和后台的中间件吗?

? phpnamespace appmiddleware; class after { publicfunction handle $ request, closure $ next } { $ response=$ next $ request }; //中间件执行代码if (添加empty (session ) ) { echo )登录不正确); //跳至登录页面} return $response; }后台首页:

公共函数索引() ({ echo后台首页); }运行结果表明,在登录跳转之前,可以对index方法执行,并可以输出内容。

因此,后中间件在登录场景中不可用。 前中间件是阻止登录的最佳解决方案。 此时,还需要确定当前访问是否已登录。 登录时,会发生多次重定向,因此这些合作伙伴必须进行处理。

以上是对前置后置中间件的介绍,在实际项目中,根据我们的实际业务逻辑来判断是使用前置中间件还是后置中间件。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。