GET:ページを「取得」するためのリクエスト
POST:情報を「送信」するためのリクエス
画面表示のために必要なパラメーターは「GET」
例)表示したい商品や動画のID、ページ番号など
URLを直接入力や、お気に入りからのアクセス、ページ内のリンクをクリックした場合は、基本的にGET方式でリクエストが送られる。
GETの弱点:URL上にパラメーターが丸見えになってしまう
→個人情報やパスワードがURL上に記載されてしまうのはまずい
ユーザーが画面に入力して送信するパラメーターは「POST」
例)ログインIDや個人情報など
パラメータをURLにくっつけずにサーバーに送る方式。お問い合わせフォーム、注文入力画面など、画面から情報を入力して「送信ボタン」を押すようなタイプの画面は基本的にこのPOST方式。
#まず基本形
書き方が二つある。
例えば、https://xxx
といったサイトがあった場合を考える。
https://xxx/login
にアクセスされた場合は、ログイン画面(login.blade.php)を表示するとする。
// (1)
Route::get('/login', function () {
return view('login');
});
第1引数にURLを記載して
第2引数に行う処理を書きます。
①get:表示
②post:データー渡し
getはリソースを表現するもので、postは処理を行うもの
・getメソッドのものはviewが必要なので、getはちゃんとリンクがひらけるかの確認
redirect:指定したURLに飛ぶ
view:指定したview(blade.php)を表示
↓コントローラーのメソッドを使いたい時
// (2)
Route::HTTP動詞(’ビュー’,’コントローラー名@メソッド名’)
①HTTP動詞の指定
get:表示
post:データー渡し
②ビューの指定
URLのパス
③コントローラーの関数を指定(コントローラーでそのページでしたい処理を書く)
#覚えたら楽なこと
スラッシュ(/)がついている分に関しては、URLを表している。(?)
#疑問
(1)の場合postにすることはあるのか、redirectをする意味がわからない
#名前付きルート
ルーティングに名前を付ける事ができます。名前をつけると、設定したルート名のみを指定し処理を書けば良くなるので便利です。
Route::get('sample', 'SampleController@index')->name('sample');