Я пытаюсь получить доступ к параметру префикса маршрута из своего промежуточного программного обеспечения.
Учитывая этот 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()
в моем промежуточном программном обеспечении дает мне части маршрута, но это кажется хрупким способом доступа к данным. Что если маршрут изменится?
Вы можете сделать это, используя более короткий синтаксис
Ты можешь использовать:
echo $request->route()->campaign;
или даже короче
echo $request->campaign;
Понял!
$request->route()->getParameter('campaign')