Доступ к параметру 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' );
} );
} );

Как получить доступ к параметру кампании (40 в примере URL) из промежуточного программного обеспечения inject_campaign? У меня промежуточное программное обеспечение работает нормально, но не могу понять, как получить доступ к параметру.

призвание $request->segments() в моем промежуточном программном обеспечении дает мне части маршрута, но это кажется хрупким способом доступа к данным. Что если маршрут изменится?

3

Решение

Вы можете сделать это, используя более короткий синтаксис

Ты можешь использовать:

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

или даже короче

echo $request->campaign;
6

Другие решения

Понял!

$request->route()->getParameter('campaign')

0

По вопросам рекламы [email protected]