定义中间件时的Closure $next怎么理解

<?php
    namespace App\Http\Middleware;
    use Closure;
    class TestMiddleware
    {      

        public function handle($request, Closure $next)
            if($request->input('age')<18)
                return redirect()->route('refuse');
            return $next($request);
        }
    }

上面这段代码中,
1) 第三行的use Closure 中的closure是类?怎么来的?
2)第六行的handle方法中 Closure $next是什么意思?
3)第9行的 $next($request),这是什么用法?$next到底是函数还是变量?

阅读 10.8k
2 个回答

Closure是php自带的用于代表匿名函数的类!!去php手册看看你就明白你问的这几个问题了。