當請求由路由分配給控制器之後,就會附帶一個 Request 物件,你可以在參數列透過型別提示技巧來取得

建立測試程式碼

//routes\\api.php

Route::get('request/{id?}','App\\Http\\Controllers\\Api\\TaskController@test');

取得請求

//app\\Http\\Controllers\\Api\\TaskController.php

namespace App\\Http\\Controllers\\Api;

use Illuminate\\Http\\Request;

class TaskController extends Controller
{
    //在參數前面加上類別即為型別提示技巧
    public function test(Request $request)
    {
        $title = $request->input('title');

        return response()->json(['title'=>$title]);
    }
}

路徑參數

//app\\Http\\Controllers\\Api\\TaskController.php

namespace App\\Http\\Controllers\\Api;

use Illuminate\\Http\\Request;

class TaskController extends Controller
{
    //路徑參數需在依賴注入之後
    public function test(Request $request, $id)
    {
        return response()->json(['id'=>$id]);
    }
}

請求路徑 & 方法

取得請求路徑

path() 返回請求的路徑訊息。比如接收到的請求路徑是 http://domain.com/foo/bar,則 path () 將回傳 foo/bar:

$uri = $request->path();

//訪問網址  [<http://domain.com/foo/bar>](<https://www.domain.com/foo/bar%EF%BC%8C%E5%89%87>)
//回傳內容  foo/bar

確認請求路徑

is() 能允許你去確認進來的請求路徑是否符合某種模式,在這方法內你能透過 wildcard(*)來代表任意值

if ($request->is('admin/*')) {
    //* 代表任意值
}

取得請求網址