Posted at

laravel5.4のrouteでURLのルートパラメーターの文字によって出しわける

More than 1 year has passed since last update.


はじめに

URLのルートパラメーターが特定の文字だったときにこのメソッドを返したい、その他は違うメソッドを返したい、ということがありました。

今回はそのルートパラメーターは必須パラーメーターとしています。


/routes/web.phpに書く

早速web.phpに書きます。


web.php

Route::get('/cat/{name}/', function (Request $request, $name) {

if($name == 'bubbles'){
return App\Http\Controllers\catController::myCat($request);
}else{
return App\Http\Controllers\catController::herCat($request);
}
});

ルートパラメーターの{name}が'bubbles'の文字だったときはApp\Http\Controllers\catControllerのmyCatメソッドを、その他の文字だったときはApp\Http\Controllers\catControllerの'herCat'メソッドを返すという例です。

ルートパラメーターの{name}をfunctionで$nameとして使うことができるので、その中でif文で出し分ける、ということをしています。