首頁  >  問答  >  主體

laravel - 定義中間件時的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到底是函數還是變數?

迷茫迷茫2735 天前650

全部回覆(2)我來回復

  • 滿天的星座

    滿天的星座2017-05-16 16:56:35

    Closure是php自帶的用來代表匿名函數的類別! !去php手冊看看就明白你問的這幾個問題了。

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-16 16:56:35

    Closure 是php實作閉包(匿名函數)用的類別。
    http://php.net/manual/zh/class.closure.php
    $next是綁定的函數。

    回覆
    0
  • 取消回覆