この節では、Yii で MVC アーキテクチャを正しく使い、保守性の高いアプリケーションを作るためのガイドラインが説明されています。
🧠 1. モデル(Model)について
モデルは アプリケーションのデータ構造とビジネスロジックを表現します。
- モデルは必要な属性と バリデーションやルール を持たなければならない。
- データ操作のコード(例:検索や状態変更)はモデルに置くのが基本。
- ただし、あまり一つのモデルに詰め込みすぎると保守が難しくなるため、 サブアプリケーション(例:フロント/バックエンド)ごとに共通部分と特有部分を分ける設計 が推奨されています。
- モデルは 直接 HTTP リクエスト変数($_GET / $_POST)を参照したり、HTML や SQL を埋め込むべきではありません。それらは他層で扱うべきです。
🖼️ 2. ビュー(View)について
ビューは ユーザに表示する部分だけを扱うべきです。
- ビューには主に HTML と表示用コード を置く。
- ビュー内で DB クエリやリクエスト処理を行うべきではない。それらはモデルやコントローラ側で処理するべきです。
- ビューは 再利用可能 に作ると効率的で、部分ビューやウィジェットなどを活用します。
🎛️ 3. コントローラ(Controller)について
コントローラは MVC の「仲介役」 として処理を統括します。
- コントローラは リクエスト情報($_GET, $_POST)を扱う責務を持ちます。
- モデルやビューのコード呼び出しを行い、アクションの制御を実装します。
- SQL 文や HTML を直接書かないようにし、データ操作ロジックはモデルへ、出力の詳細はビューへ委譲します。