php – 从中​​间件访问路由前缀中的URL参数

我正在努力从我的中间件访问路由前缀参数.

鉴于此URL:http://www.example.com/api/v1/campaign/40/status,以及以下路线:

Route::group( [
    'prefix' => 'api/v1'
], function()
{
    Route::group( [
        'prefix' => 'campaign/{campaign}',
        'where' => [ 'campaign' => '[0-9]+' ],
        'middleware' => [
            'inject_campaign'
        ]
    ], function()
    {
        Route::get( 'status', 'CampaignController@getStatus' );
    } );
} );

如何从我的inject_campaign中间件访问广告系列参数(示例网址中的40)?我有中间件运行正常,但无法解决如何访问参数.

在我的中间件中调用$request-> segments()为我提供了路由的一部分,但这似乎是一种访问数据的脆弱方式.如果路线改变怎么办?

解决方法:

您可以使用更短的语法来完成它

您可以使用:

echo $request->route()->campaign;

甚至更短:

echo $request->campaign;
上一篇:ROS安装usb摄像头


下一篇:关于:bash: roscore:未找到命令