LoginSignup
41
23

More than 5 years have passed since last update.

hoge(Request $request)ってなんだ??👶

Posted at

Requestと$request

Laravelをいじっていると
確実に現れる

public function hoge(Request $request){
....
}

でどうやってリクエストの内容を受け取っているのかよくわかってなかったので調べた
程度の低い疑問である気がするが、割とまとまってる記事も少なく書いてることもバラバラだったので個人的見解にはなってしまいます。。詳しい方、訂正あればぜひご教授いただけると大変幸いです:heart_eyes:

Requestクラスとrequestインスタンス

きもはhogeアクション引数のRequestクラスとrequestインスタンス!
Controllerの上部でuseしている中にRequestクラスの記述があり、それを使用している。
クラスがあるならインスタンスを用意して使っていかないといけない。

それがお隣にある$request(requestインスタンス)である。
とはいっても別にnewされているわけでもないのにどうやってRequestクラスからのインスタンス化を行っているの??という話なんですが、

Laravelに既存で搭載されているサービスプロバイダという機能を使って自動でインスタンス化を行ってくれます。

①Requestクラスのインスタンスをサービスプロバイダにより自動生成、$requestとなる

②$requestインスタンスにリクエストの内容を注入

という流れになる
なーんかいつも書いてあるけどどんな感じなのかってのはザックリこんな感じですね:helmet_with_cross:

41
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
41
23