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

发布于 2022-09-02 00:12:25 字数 480 浏览 25 评论 0

<?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到底是函数还是变量?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

摇划花蜜的午后 2022-09-09 00:12:25

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

就是爱搞怪 2022-09-09 00:12:25

Closure 是php实现闭包(匿名函数)用的类。
http://php.net/manual/zh/class.closure.php
$next是绑定的函数。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文