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 クラス名
のようにインスタンスを作成する手間を省ける。