【Laravel】引数のRequest $requestとは何か?メソッドインジェクション(依存注入)のメリット

laravel-prograshi(プロぐらし) Laravel
記事内に広告が含まれていることがあります。

Laravelのコントローラーでメソッドの引数にクラスが指定されていることがある。これらの役割について。

▼例

public function index(Request $request){ }
public function send(RequestContactSend $request){}


メソッドインジェクション

function 関数名(Request $request)のように、関数の引数にクラス名と変数を記述すると、指定した変数に、指定したクラスのインスタンスが入る

これをメソッドインジェクション(依存注入)という。


メソッドインジェクションのメリット

メソッドインジェクションを使うメリットは、コードを簡略化できること。

▼(例)Requestクラスのallメソッドを呼び出す

public function index()
    {
        $request = new Request();
        $request->all()
    }

 ↓

public function index(Request $request)
    {
        $request->all();
    }

メソッドインジェクションを使うことて、new クラス名のようにインスタンスを作成する手間を省ける。

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