MVC
Model / View / Controller役割を3つに分ける設計
アプリを「データ(Model)」「画面(View)」「仲介役(Controller)」の3つに分けて作る考え方。役割を分けることで、どこを直せばよいか分かりやすくなります。
Laravel 全体マップ
Laravelには覚える言葉がたくさん出てきます。ここではまず重要単語を初心者向けの短い説明つきで一覧にし、 続いてクラスやフォルダの階層をツリー図で見せます。 細かい文法の前に「どんな部品が、どういう関係で並んでいるのか」を目でつかみましょう。
Laravelでよく出てくる 23 語を、意味をかみくだいて説明します。 色はざっくりした仲間分けです。
役割を3つに分ける設計
アプリを「データ(Model)」「画面(View)」「仲介役(Controller)」の3つに分けて作る考え方。役割を分けることで、どこを直せばよいか分かりやすくなります。
URLと処理の対応表
「このURLに来たら、この処理を動かす」という対応づけのこと。routes/web.php に書きます。玄関で行き先を案内する受付のような役割です。
処理の交通整理役
リクエストを受け取り、必要な処理を呼び出して、結果(レスポンス)を返す仲介役。自分で計算しすぎず、薄く保つのがコツです。
1つのテーブルを表すクラス
データベースの1つのテーブルに対応するクラス。User モデルなら users テーブル、というように結びつきます。データの読み書きの窓口になります。
受け取る/返す
リクエストはブラウザからサーバへの「お願い」、レスポンスはサーバからブラウザへの「返事」。Laravelはこの一往復を組み立てる仕組みです。
処理の前後の関所
リクエストがコントローラに届く前後に挟まる「関所」。ログイン確認や共通チェックなどを、ここでまとめて行えます。
入力値のチェック
フォームなどの入力値が正しいか(空でないか、メール形式か等)を確認する仕組み。不正な値を早い段階ではじき、安全とデータの質を守ります。
検証ルール専用クラス
バリデーションのルールをまとめる専用クラス。コントローラから検証の記述を追い出し、すっきり保つために使います。
SQLを書かずにDB操作
LaravelのORM。テーブルをクラス(モデル)として扱い、SQLをほとんど書かずに User::find(1) のような直感的な書き方でデータを操作できます。
テーブル設計の履歴
テーブルの作成や変更を、PHPのコードとして記録・実行する仕組み。設計の変更履歴が残り、チーム全員が同じDB構造を再現できます。
テーブル同士の関係
「ユーザーは複数の投稿を持つ」のようなテーブル間のつながり。Eloquentのモデルにメソッドとして書くと、関連データを簡単にたどれます。
初期・テストデータ投入
データベースに初期データやテスト用データをまとめて入れる仕組み。開発中に何度でも同じデータを用意し直せます。
SQLを組み立てる道具
SQLをメソッドを繋げる形で組み立てられる機能。DB::table('users')->where(...) のように書け、複雑な検索も安全に作れます。
HTMLを作るテンプレート
Laravelのテンプレートエンジン。HTMLの中に @if や @foreach、{{ $name }} を書いて、データを埋め込んだ画面を作れます。
利用者に見える画面
利用者が実際に目にするHTMLの画面部分。resources/views フォルダに Blade ファイルとして置きます。
画面の再利用パーツ
ボタンやカードなど、画面の部品を再利用できる形にまとめたもの。同じ見た目を何度も書かずに済みます。
付属のコマンド道具
Laravel付属のコマンドラインツール。php artisan make:controller のように打つと、雛形の自動生成やDB操作などを素早く行えます。
部品を組み立てる箱
クラスが必要とする部品(依存)を自動で用意して渡してくれる仕組み。newを自分で書かなくても、必要なものが差し込まれます。
起動時の初期設定係
アプリ起動時に「何をコンテナに登録するか」などをまとめて設定する場所。Laravelの各機能はここで組み立てられます。
機能への簡単な入口
Route:: や DB:: のように、複雑な仕組みへ短い書き方でアクセスできる窓口。裏ではサービスコンテナの部品を呼び出しています。
アプリの設定値の置き場
config フォルダにある、アプリ全体の設定をまとめたファイル群。DB接続先やタイムゾーンなどをここで一元管理します。
秘密や環境ごとの値
パスワードやAPIキー、接続先など、環境ごとに変わる値を書くファイル。コードに直接書かず .env に分けて安全に管理します。
PHPのパッケージ管理
PHPのライブラリ(部品)を導入・管理するツール。Laravel本体や追加機能のインストールにも使います。
「クラスの下にプロパティやメソッドがぶら下がる」といった入れ子の関係を、 木の枝のように表しました。インデントと縦線で、どれがどれの中にあるかが分かります。
1つのクラスの下に「プロパティ(設定値)」と「メソッド(動き)」がぶら下がる、クラスの基本構造です。
ブラウザからのリクエストが、どの部品を通ってレスポンスになるのかを上から順にたどれます。
「どのファイルがどこにあるか」の地図。役割ごとにフォルダが分かれています。
もっと深く知りたい語は、各Dayのレッスンや実務用語集でも確認できます。