如果我有类似的中间件:

<?php namespace App\Http\Middleware;

class SomeMiddleware
{
    public function handle($request, Closure $next, $id = null)
    {
        //
    }
}

在kernel.php中:
'someMiddleware'    => \App\Http\Middleware\SomeMiddleware::class,

在routes.php中:
Route::put('post/{id}', ['middleware' => 'someMiddleware']);

如何将{id}中捕获的id传递给中间件?
我知道我可以通过一些自定义参数如下:
Route::put('post/{id}', ['middleware' => 'someMiddleware:16']);

但是在laravel文档中没有描述如何传递在route模式中捕获的参数。

最佳答案

我认为您可以从中间件内部获取如下参数:

//your middleware's method
public function handle($request, Closure $next)
{
    //get the ID
    $id = $request->id
}

09-25 16:39