Laravelキャッチアップ④Controllerについて学ぶ回

こんにちは!!
株式会社リヴェル 採用担当兼エンジニアのチノです🥰
本日もお読みいただきありがとうございます😋

本日は少々ばたばたしていたため短めなのですが、最後までお付き合いくださると嬉しいです🙇‍♀️✨

今日は用事があり神田方面へ行っていたので、「魚金」というお店でランチしました🐟
鰤しらす丼(?)が気になっていたのですが、残念ながら売り切れ・・・ということで、海鮮丼をいただきました!!😋✨
ネギトロの中にたこや魚が入っているのに加え、カニクリームコロッケ付き!ということでいつもよりも豪華なランチでした~!🥰

画像
コロッケ熱々で美味しかったです!!猫舌の方は要注意です😂

では、本題に移って参ります!!

前回、「web.php」にルーティングとgetリクエストが出された際の処理を記載しました!前回はこちらからご覧ください✨

あわせて読みたい

この処理の記載がどんどん増えていくということを考えると、コードがややこしくなりそうでいやですよね😑
雑多にならないように役立つものがLaravelには用意されており、それがControllerです✨
Laravelでは、ルーティングごとの処理はControllerと呼ばれるファイルに置くことが推奨されています。
早速やってみたいと思います💨💨

目次

目次

  1. 1.Controllerとは?
  2. 2.Controllerを作成する
  3. 3.PostController.phpにメソッドを定義する

1.Controllerとは?

LaravelにおけるControllerとは、HTTPリクエストを受け取り、適切な処理を行いビューを返す役割を持っています。

①HTTPリクエストの処理・・・特定のURLに対するGETリクエスト(HTTPリクエスト)を処理してデータを表示するファイルを返す

🔽🔽🔽

②ルーティングとの連携・・・ルーティングで特定のURLパスにコントローラを関連付ける。これにより、特定のURLに対するリクエストが発生した際に、それに対応するコントローラのアクションが呼び出される。

🔽🔽🔽

③ビジネスロジックの実行・・・DBからのデータ取得・データ操作などを含む、アプリケーションのビジネスロジックを実行します。

🔽🔽🔽

④ビューの表示・・・データをビューに渡すことで適切なレスポンスを返します。

では、早速実践していきます!😄

2.Controllerを作成する

Ctrl + Jでターミナルを開き、下記を実行します。
docker上で起動するPHPを使用しているので、’ ./vendor/bin/sail ‘コマンドを使用します。

🌟wslを開いて「PostController」を作成するコマンドを実行

$  ./vendor/bin/sail artisan make:controller PostController

copy

画像
🔽🔽🔽

3.PostController.phpにメソッドを定義する

まず、PostController.phpに、web.phpの🌟~🌟までを切り取って、貼り付けます。

🌟web.php(切り取る前)

Route::get('/', 🌟function () {
    return view('index');
}🌟);

🌟web.php(切り取ったあと ※一旦この形にしておきます)

Route::get('/', );

copy

web.phpから切り取ったものを貼り付け、publicとメソッド名indexを追記します。

画像
PostController.phpが正しい形となりました!
🔽🔽🔽

続いて、web.phpを修正していきます。
PostController.phpの上部にある名前空間(namespace~~~)のパス部分を貼り付ける
web.php上部にuse~~~を追加し、Routes::get(~~~);の中身を変更する。

画像
web.phpです!
index‘部分は、PostControllerクラスのメソッド名を記載します。
🔽🔽🔽

これで、web.phpに記載していたルーティングごとの処理をPostController.phpへ書くことが出来ました!

次回は、リンクを作ったりして、よりWebアプリケーションらしくなるような内容を学んでいきます😄


結びになります!
本日も最後までお読みいただきありがとうございました!✨
また明日も投稿しますので、チラッとでもご覧いただけると嬉しいです😊
また、スキをつけてくださる方もありがとうございます!
大変励みになります😸🤍

それでは、また明日🥰

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次