如何将URL参数从路由传递到中间件


How to pass URL parameter from route to middleware?

如果我有像这样的中间件

<?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文档中,并没有描述如何传递路由模式中捕获的参数。

我认为您可以从中间件内部获得参数,如下所示:

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