Appearance
各層と責務
| 層 | 責務 |
|---|---|
| ハンドラー(Handler/) | リクエスト受付・ルーティング・入力検証のみを行う。Controller を new せず、コンストラクタで受け取る(core_src/config/di.php で組み立て・注入する)。REST API や Action の登録は Adapter 経由で委譲。 |
| ショートコード(ShortCode/) | ShortCodeServiceProvider により WordPress のショートコードとして登録されるエントリーポイント。コンテナから注入済みのコントローラーを呼び出す。必要に応じてアセット(JS/CSS)読み込み。 |
| コントローラー(Controller/) | リクエスト受付。コンバーターによる入力変換・検証の利用。サービス層の呼び出し。エラーハンドリング。ビュー層へのデータ渡し。 |
| コンバーター(Converter/) | ショートコード属性の入力変換・検証。デフォルト値の設定。コントローラー用 DTO への変換。エラー時の例外スロー。 |
| サービス(Service/) | ビジネスロジックの実装。リポジトリからのデータ取得。データの加工・計算。DTO でのレスポンス返却。 |
| リポジトリ(Model/Repository/) | データベースアクセス。SQL クエリの実行。エンティティへのマッピング。 |
| エンティティ(Model/Entity/) | データベース項目定数の定義。データ構造の表現。 |
| DTO(Model/Dto/) | 層間のデータ転送。レスポンスデータの構造化。 |
| ビュー(View/) | HTML レンダリング。Twig テンプレートの処理。CSS/JS の出力。 |
ビュー層と Twig(補足)
- Twig の位置づけ: 公開側 HTML の多くは Twig(
core_src/View/templates/配下)で組み立てる。技術スタックの定義は プロジェクト構成とアーキテクチャ の「技術スタック」を正とする。 - 画面設計書との分担:
docs/design/公開画面/PUB-*では 表示項目とデータの出所(ユーザーに見える結果) に限定する。テンプレートエンジン名・.twigの構文・ファイルパス は本節および実装(core_src/View/)を参照する。 - 日別記事シングル(例):
DailyArticleTemplateControllerと周辺サービスが post meta 等を読み、ビュー用データを組み立てたうえでテンプレートから HTML を生成する。生成後の文字列にdo_shortcode()を適用する流れは ショートコードのライフサイクル と PUB-001 日別記事(シングル) の「概要」で扱う。