【问题标题】:How to pass URL parameter from route to middleware?如何将 URL 参数从路由传递到中间件?
【发布时间】:2016-03-05 10:45:41
【问题描述】:

如果我有这样的中间件:

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

【问题讨论】:

标签: php laravel laravel-5 laravel-5.1 middleware


【解决方案1】:

我认为您可以像这样从中间件内部获取参数:

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

【讨论】:

    猜你喜欢
    • 2018-01-06
    • 1970-01-01
    • 2015-08-06
    • 2021-07-29
    • 2017-11-21
    • 2021-01-28
    • 1970-01-01
    • 2016-11-14
    • 1970-01-01
    相关资源
    最近更新 更多