Laravelでviewからpost/get したデータをControllerで記述形式がいくつかあって、よくわからないので整理します。
とりあえず、思いつく限りでどんな記述形式がるか書き出してみます。
仮にview側でpostかgetでデータが送られたときに、3パターンくらい取得方法がある気がします。
記述形式はどれでもいいのかと思いきや、エラーではじかれる組み合わせがあるっぽいので整理します。
形式は1個でいい気がするけど、どうしていくつもあるのでしょう?
たぶん、整理していくうちに分かるかもしれません。
function example(Request $request){
$request->input('name');
$request->name;
$request('name');
}
例えば、View側からPOST形式でデータを渡した場合
<form method="POST" action="/index">
<input type="text" name="name">
<input type="text" name="pass">
<input type="submit">
</form>
コントローラー側で正しく動作する記述は
function example(Request $request){
$request->name;
$request->input('name');
}
の2つでした!
$request('name');
を使用すると
次にget形式ではどうなるか調べてみます。
<form method="GET" action="/index">
<input type="text" name="name">
<input type="text" name="pass">
<input type="submit">
</form>
postの時と同じ結果になりました(笑)
ということは、単純に自分の勘違いで使えないコードを覚えてしまったようです。。
どうして、こんな勘違いをしていたのか?
それは2つの記述方法が、混同して記憶違いで直感的に書きやすい記述が刷り込まれてしまったからだと思います(言い訳)
結局、形式が2つある理由はよくわかりませんでした。
1つだけなら、勘違いすることもないのにと思いました。
Laravelでは
ページ表示にview()とredirect()があって、
どちらを使うと便利なのかわからずにいます。
redirect()は記述形式がroute()を使う場合と使わずに記述する方法があるので、
どれがどういうときに向いている記述なのか?
調べたいと思います
以上、勘違いしていましたという記事になりました。