オタブロ > IT知識 > PHP > 【Laravel8】独自のリクエストクラスを作成する方法

【Laravel8】独自のリクエストクラスを作成する方法

IT知識

まずはリクエストクラスを作成します。「php artisan make:request 作成したいクラス名」で新たにリクエストクラスを作成してください


# php artisan make:request TestRequest

「Http/Requests」配下に新しくファイルが作られたと思います。中身はこんな感じ

<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class TestRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return false;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
        ];
    }
}

rules関数の下に以下の関数を追加してみましょう。

    public function test_message(){
        return'Testmessage' ;
    }

これで簡易的な関数ができました。続いて任意のコントローラーで作成したリクエストクラスの関数をを呼び出す処理を書いてみましょう。

    public function test(TestRequest $testRequest){
        return response()->json(['test' => $testRequest->test_message()]);
    }

これでURLをたたいてみるとtest_messageで指定した値が返ってきます。

{"test":"Testmessage"}

上記で紹介したような方法以外にもにバリデーションを設定できたりするのでリクエストごとに臨機応変に対応することが可能です。

タイトルとURLをコピーしました