Skip to content

ディレクトリ構成

プロジェクト構成(概要) の詳細です。

開発環境

ルートディレクトリ/
├── connector.php                   # エントリーポイント
├── config/                         # 開発・CI用設定(config/phpcs.xml, config/phpstan.neon 等。本番には不要)
├── core_src/                       # 開発用コアソースディレクトリ
│   ├── config/                     # アプリケーション設定
│   │   └── di.php                  # DIコンテナ定義(PHP-DI。変更時はキャッシュ削除要)
│   ├── composer.json               # Twig等のアプリケーション依存関係
│   ├── vendor/                     # 本番環境用依存関係
│   ├── Bootstrap/                  # ブートストラップ層
│   │   ├── Application.php         # アプリケーション起動(ROOT等の定数定義含む)
│   │   └── ServiceProvider/        # 機能領域ごとのサービス登録
│   ├── Constants/                  # 定数定義
│   ├── Controller/                 # コントローラー
│   ├── Converter/                  # リクエスト等の変換(ToController, ToPresenter)
│   ├── Dto/                        # データ転送オブジェクト(Controller, RestApi, ShortCode, Template, View用)
│   ├── Enum/                       # 列挙型
│   ├── Exception/                  # 例外
│   ├── Factory/                    # ファクトリー(DI設定)
│   ├── Handler/                    # REST API等のハンドラー
│   ├── Infrastructure/            # 基盤層
│   │   ├── Container/              # コンテナビルド(ContainerFactory)
│   │   ├── Sql/                    # SQL管理(SqlManager)
│   │   └── WordPress/              # WordPressアダプタ(REST登録・権限チェック等)
│   ├── Interface/                  # インターフェース層
│   │   ├── Adapter/                # アダプタインターフェース(REST, ActionHook, PermissionChecker等)
│   │   ├── Repository/             # リポジトリインターフェース
│   │   └── Service/                # サービスインターフェース
│   ├── Model/                      # モデル層
│   │   ├── Repository/             # リポジトリ実装
│   │   ├── Entity/                 # エンティティ
│   │   └── Dto/                    # モデル用データ転送オブジェクト
│   ├── PostType/                   # カスタム投稿タイプ(DailyArticle等)
│   ├── Service/                    # サービス層
│   ├── ShortCode/                  # ショートコード
│   ├── Support/                    # 支援クラス
│   ├── Template/                   # テンプレート(React等)
│   ├── Util/                       # ユーティリティ
│   └── View/                       # ビュー層
├── vendor/                         # 開発ツール用(本番環境には含まれない)
│   ├── bin/phpstan                 # 静的解析ツール
│   ├── bin/phpcs                   # コーディング規約チェック
│   └── bin/phpunit                 # テストツール
├── scripts/                        # 品質チェックスクリプト
├── .github/workflows/              # CI/CD設定
└── _build/                         # ビルド出力ディレクトリ

本番環境

WordPressテーマディレクトリ/
├── connector.php                   # VERSION='_src'(開発)→ 本番は '_YYYYMMDD_HHMMSS' に変更
└── core_YYYYMMDD_HHMMSS/           # ビルド出力(例: core_20250120_143022/。bin/build.sh の出力)
    ├── vendor/                     # Twig等の依存関係
    ├── Bootstrap/                  # ブートストラップ層
    ├── Controller/                 # コントローラー
    ├── Converter/                  # 変換層
    ├── Dto/                        # データ転送オブジェクト
    ├── Factory/                    # ファクトリー
    ├── Handler/                    # ハンドラー
    ├── Infrastructure/            # 基盤層
    ├── Interface/                  # インターフェース層
    ├── Model/                      # モデル層
    ├── PostType/                   # カスタム投稿タイプ
    ├── Service/                    # サービス層
    ├── ShortCode/                  # ショートコード
    ├── View/                       # ビュー層
    └── (その他 Constants, Enum, Support, Template, Util 等)