章: 第6章: 実践運用と成長
SQLとHTMLとビジネスロジックが1ファイルに混在したコードを書いていませんか?MVCで整理すると、格段に保守しやすくなります。
問題と解決策
「動くコード」は書けるのに、「読めるコード」「直せるコード」になっていないケースが多くあります。DBアクセス・計算処理・HTML出力がひとつのファイルに混在すると、修正箇所を特定するだけで時間がかかります。
MVC(Model-View-Controller)は責務を3つに分ける設計パターンです。Model(データ処理)、View(表示)、Controller(入力受け取り・制御)を分けることで、それぞれを独立して修正・テストできるようになります。
責務分離の比較
| 役割 | 担当する処理 | 変更理由 |
| Model | DB操作・ビジネスロジック | データ構造や業務ルールの変更 |
| View | HTML生成・テンプレート | 画面デザインや表示内容の変更 |
| Controller | リクエスト受け取り・Modelを呼ぶ・Viewに渡す | フローの変更 |
チェックポイント: ViewにSQL文やビジネスロジックが書かれていませんか?Viewはデータを受け取って表示するだけにとどめ、ロジックはModelまたはControllerに置くのがMVCの基本です。
コードサンプル
<?php
// Controller: 入力受け取り
// Model: データ処理
// View: 表示
まとめ & 次のステップ
- MVCはModel・View・Controllerの3層に責務を分ける設計パターンです
- Viewにロジックを書かず、Modelにデータ処理を集中させるのが基本です
- Controllerは薄く保ち、処理の流れだけを担当させます
- LaravelなどのフレームワークはMVCに基づいて設計されているため、この概念が実務で直結します
次回は ルーティング基礎 — URLと処理を結びつけるエントリポイントの設計を学びます。