MockAPI-PHP

ディレクトリ構成

以下 responses ディレクトリ内はあくまで参考例です。利用ケースに準じて自由にカスタマイズ可能です。

mock_api_server/
 ├── index.php             # モックサーバーのメインスクリプト
 ├── generate-schema.php   # OpenAPI 3.0 スキーマ生成スクリプト
 ├── http_status.php       # HTTPステータスコードの定義
 ├── start_server.php      # ローカルサーバー起動スクリプト
 ├── .env                  # 設定用( .env.sample を参考に設定)
 ├── vendor/               # Composer のパッケージ
 ├── composer.json         # PHPパッケージ管理用
 ├── composer.lock         # Composer のロックファイル
 ├── responses/            # レスポンスデータ格納ディレクトリ(下記は初期バンドル構成)
 │   ├── users/
 │   │   ├── get/
 │   │   │   ├── 1.json        # 1回目のリクエスト用レスポンス
 │   │   │   ├── 2.json        # 2回目のリクエスト用レスポンス
 │   │   │   ├── default.json  # デフォルトレスポンス
 │   │   │   └── delay.json    # 遅延レスポンス
 │   │   ├── delete/
 │   │   │   └── default.json  # DELETE時のレスポンス
 │   │   └── post/
 │   │        ├── 400.json      # 400エラーのレスポンス
 │   │        ├── failed.json   # POST失敗時のレスポンス
 │   │        └── success.json  # POST成功時のレスポンス
 │   ├── errors/
 │   │   ├── 404.json           # 404エラーレスポンス(JSON形式)
 │   │   └── 500.txt            # 500エラーのレスポンス(テキスト形式)
 │   └── others/
 │        ├── products/
 │        │   └── put/
 │        │        └── default.json # PUT時のレスポンス
 │        └── get/
 │             ├── default.txt   # CSV形式のテキストデータ
 │             └── userlist.txt  # XML形式のテキストデータ
 ├── hooks/                # カスタムフック格納ディレクトリ
 ├── tests/                # ユニットテスト用のテストケース格納ディレクトリ
 │   └── MockApiTest.php   # 初期テストケース
 ├── phpunit.xml           # ユニットテスト設定ファイル
 ├── version.json          # プロジェクトパッケージのバージョン情報
 ├── schema/               # OpenAPI スキーマ出力ディレクトリ
 └── logs/                 # ログ保存ディレクトリ(.envで変更可能)
      ├── auth.log         # 認証エラーのログ
      ├── error.log        # エラーログ
      ├── request.log      # リクエストのログ
      ├── response.log     # レスポンスのログ
      └── validation-error.log   # OpenAPI スキーマバリデーションエラーログ