#Requestと$request#
Laravelをいじっていると
確実に現れる
public function hoge(Request $request){
....
}
でどうやってリクエストの内容を受け取っているのかよくわかってなかったので調べた
程度の低い疑問である気がするが、割とまとまってる記事も少なく書いてることもバラバラだったので個人的見解にはなってしまいます。。詳しい方、訂正あればぜひご教授いただけると大変幸いです
#Requestクラスとrequestインスタンス
きもはhogeアクション引数のRequestクラスとrequestインスタンス!
Controllerの上部でuseしている中にRequestクラスの記述があり、それを使用している。
クラスがあるならインスタンスを用意して使っていかないといけない。
それがお隣にある$request(requestインスタンス)である。
とはいっても別にnewされているわけでもないのにどうやってRequestクラスからのインスタンス化を行っているの??という話なんですが、
Laravelに既存で搭載されているサービスプロバイダという機能を使って自動でインスタンス化を行ってくれます。
①Requestクラスのインスタンスをサービスプロバイダにより自動生成、$requestとなる
②$requestインスタンスにリクエストの内容を注入
という流れになる
なーんかいつも書いてあるけどどんな感じなのかってのはザックリこんな感じですね