routeで引数に取る型を決めたい
/profile/1
とか、 /profile/3
とかでURLを決めたい。
でも、 /profile/aa
とかは404にしたい。
呼び出し先の関数で、 abort(404)
とかでもいいけど、
どうせならそもそも数値だけをrouteに設定したい。
whereで固定する
Route::get("profile/{user_id}", "UserController@profile")->where('user_id', '[0-9]+');
これで、user_idに当たる部分が数値だけ受け取れる。
これによって、呼び出し先の関数も
public function profile (int $user_id) { }
って書けるから、例外処理を書いたりとか面倒な手間がカットできるよ!