TP6中间件详解实例

定义

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

可以通过命令行快速建立中间件

php think make:middleware Check
//会在app/middleware目录下生成一个check中间件

生成代码文件

开始调度
<?php
namespace app\middleware;
class Check
{
public function handle($request, \Closure $next)
{
if ($request->param('name') == 'think') {
return redirect('index/think');
}
return $next($request);
}
}
  1. 中间件入口执行方法必须是handle方法,且第一个参数是Request对象,第二个参数是一个闭包。
  2. 中间件 handle 方法的返回值必须是一个 Response 对象
结束调度

中间件支持定义请求结束前的回调机制,你只需要在中间件类中添加 end 方法。

public function end(\think\Response $response)
{
// 回调行为
}

前置/后置中间件

中间件是在请求具体的操作之前还是之后执行,完全取决于中间件的定义本身.

前置中间件
<?php
namespace app\middleware;
class Before
{
public function handle($request, \Closure $next)
{
// 添加中间件执行代码
return $next($request);
}
}
后置中间件
<?php
namespace app\middleware;
class After
{
public function handle($request, \Closure $next)
{
$response = $next($request);
// 添加中间件执行代码
return $
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值