めちゃくちゃ便利と聞いていたPHPフレームワークのLaravelに苦戦したので、備忘録です。
##Laravelの表示
ここでは、ただ単に表示することを目的とした流れです。
とっても簡単です。
①ルーティング
プロジェクト名/Route/web.php
web.php //ルーティングをする
②表示
プロジェクト名/resources/ファイル名
〇〇.blade.php //「.blade.php」の拡張子でファイルを作成する。ここで作成したファイルが表示される。
##controllerを使用する処理
ここではフォームなどでデータを取り扱う際の処理で話を進めます。
MVCモデルのなかのControllerを使用するので初めての方は難しいと思います。
####①フォームからデータを送信
この部分はHTMLの話なので割愛します。
form action="〇〇" //でーたの送り先をルーティング
####②web.phpで送られきたデータをどう処理するかを決める
下記のコードでは、
「ShopControllerのShowCartというメソッドを使ってね」って意味です。このShowCartメソッドにはデータの処理の方法がプログラミングされています。
プロジェクト名/app/Http/controllers/Shopcontroller <-Controllerのディレクトリ
Route::post('/product','ShopController@ShowCart');
####③コントローラー内で処理したデータを指定したファイルに返す
処理したデータを必ず返す必要はないのですが、返す方法を紹介します。
・データを返さない処理→Insertするだけの処理、deleteするだけの処理など
public function ShowCart(Request $request){
$product_id=$request->product;
//dd($product_id);
$details=DB::select('SELECT * FROM products WHERE product_id=:product_id',[$product_id]);
//dd($details);
return view('detail',compact('details'));
}
このコントローラーでは、
「フォームから送られてきたvalueの値を変数product_idに代入し、$product_idを条件にDBからデータを引き出しています」
という流れになっています。
上記コードの最後の部分、returnに注目してください。
このreturnでは、
「detail.blade.phpに$detailsを連れてって」という命令をし、detail.blade.phpにて連れて行った変数を展開できるという流れが完成します。
##さいごに
伝えることの難しさを痛感しています。
間違っている情報があればご指摘ください。
Laravelに使われている状況なので、Laravelを早めに手なづけたいです。