[中间件] ThinkPHP中使用中间件

217 阅读1分钟
  • 1.创建中间件
php think make:middleware TestMiddleware
  • 2.中间件文件 - app\middleware\TestMiddleware.php
<?php
declare (strict_types = 1);

namespace app\middleware;

class TestMiddleware
{
    /**
     * 处理请求
     *
     * @param \think\Request $request
     * @param \Closure       $next
     * @return Response
     */
    public function handle($request, \Closure $next)
    {
        //
        var_dump("中间件调试");

        // 中间件执行完毕后, 需要返回
        return $next($request);
    }
}
1. 全局中间件

app\middleware.php 中注册

<?php
// 全局中间件定义文件
return [
    // 全局请求缓存
    // \think\middleware\CheckRequestCache::class,
    // 多语言加载
    // \think\middleware\LoadLangPack::class,
    // Session初始化
    // \think\middleware\SessionInit::class,
    \think\middleware\Throttle::class,
    \app\middleware\TestMiddleware::class,
];
2. 控制器中间件
class NewProduct extends Backend
{
    // 控制器中间件
    protected $middleware = [\app\middleware\TestMiddleware::class];

image.png

3.路由中间件

image.png