0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravelを動かす一連の流れ

Posted at

めちゃくちゃ便利と聞いていた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を早めに手なづけたいです。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?