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等の定数定義含む)
│   │   └── service_provider/       # 機能領域ごとのサービス登録
│   ├── 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等)
│   │   ├── controller/             # コントローラーインターフェース
│   │   ├── dto/                    # DTO インターフェース
│   │   ├── handler/                # ハンドラーインターフェース
│   │   ├── repository/             # リポジトリインターフェース
│   │   └── Service/                # サービスインターフェース
│   ├── Model/                      # モデル層
│   │   ├── Repository/             # リポジトリ実装(配下は snake_case)
│   │   ├── Entity/                 # エンティティ(配下は snake_case)
│   │   ├── Dto/                    # モデル用データ転送オブジェクト(配下は snake_case)
│   │   └── Sql/                    # SQL ファイル(配下は snake_case)
│   ├── PostType/                   # カスタム投稿タイプ(DailyArticle等)
│   ├── Service/                    # サービス層
│   ├── ShortCode/                  # ショートコード
│   ├── Support/                    # 支援クラス
│   ├── Commerce/                   # 会員・決済境界モジュール
│   ├── 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 等)