【Laravel】任意のルートパラメーターの挙動について
任意のルートパラメーターが設定されている時、されていない時の挙動を確認した。サンプルコードを含め確認した内容を記す。
まずは、wbe.php
// web.php <?php Route::get('okinawa/{urasoe?}', 'OkinawaController@index');
続いて、サンプルで作ったOkinawaController。ルーティングに設定した任意のルートパラメーターurasoeを取得する処理が実装されている。
// OkinawaController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class OkinawaController extends Controller { public function index(Request $request) { var_dump($request->urasoe); exit(); } }
任意のルートパラメーターが設定されているパターン
・実行URL
http://localhost/okinawa/urasoe
・結果
string(6) "urasoe"
任意のルートパラメーターが設定されていないパターン
・実行URL
http://localhost/okinawa
・結果
NULL
任意のルートパラメーターの値は$requestオブジェクトのプロパティから取得できる。任意のルートパラメーターが設定されている場合、string型の値が取得できた。また、ルートパラメーターが設定されていない場合にはNULLを取得。
ふと思ったけど、string型の数値をrequestオブジェクトのプロパティから取得した場合には、どのような型になるのか。ちょっと、気になる。
※参考
readouble.com