夜の歌

プログラミング、音楽、本について緩く書いていきます。

【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