Appearance
Composer Autoload ワークフロー図
📊 全体像
┌─────────────────────────────────────────────────────────────┐
│ 開発ワークフロー │
└─────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐
│ 新規クラス │───>│ 動作確認 │
│ 作成(PSR-4)│ │ │
└──────────────┘ └──────────────┘
│ │
v v
ファイル作成 テスト実行
(dump-autoload 不要)
┌─────────────────────────────────────────────────────────────┐
│ デプロイワークフロー │
└─────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Composer │───>│ composer │───>│ デプロイ │
│ Validate │ │ install │ │ │
└──────────────┘ └──────────────┘ └──────────────┘
│ │ │
v v v
JSON検証 (オートロード含む) 本番反映
(strict)
┌─────────────────────────────────────────────────────────────┐
│ CI/CD パイプライン │
└─────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Checkout │───>│ Setup PHP │───>│ Composer │
│ Code │ │ 8.3 │ │ Validate │
└──────────────┘ └──────────────┘ └──────────────┘
│
v
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Quality │<───│ Autoloader │<───│ Install │
│ Checks │ │ 最適化 │ │ Dependencies │
└──────────────┘ └──────────────┘ └──────────────┘
│
v
┌──────────────┐ ┌──────────────┐
│ PHPCS │ │ PHPStan │
│ (並列実行) │ │ (並列実行) │
└──────────────┘ └──────────────┘🔄 PSR-4 運用(core_src)
┌─────────────────────────────────────────────────────────────┐
│ PSR-4 のみ(core_src) │
└─────────────────────────────────────────────────────────────┘
開発時:
新規クラス追加 → 動作確認
^^^^^^^^
✅ dump-autoload 不要
メリット:
✅ 開発効率: 自動読み込み
✅ 標準規約準拠📌 現状の運用
┌─────────────────────────────────────────────────────────────┐
│ PSR-4 のみ(core_src) │
├─────────────────────────────────────────────────────────────┤
│ ✅ 新規クラス追加時: dump-autoload 不要(PSR-4 で自動) │
│ ✅ デプロイ前: composer install --no-dev --optimize-autoloader │
│ ✅ CI/CD: composer install でオートロード生成 │
└─────────────────────────────────────────────────────────────┘🛠️ ツール関係図
┌─────────────────────────────────────────────────────────────┐
│ 開発支援スクリプト │
└─────────────────────────────────────────────────────────────┘
composer-autoload-manager.sh
├── validate → composer validate --strict
├── regenerate → composer dump-autoload -o(PSR-4 では通常不要)
├── check → オートローダー状態確認
└── all → 全操作を順次実行
local-quality-check.sh
├── Composer validate (追加済み)
├── Autoloader 最適化 (追加済み)
├── PHPCS
├── PHPStan
└── サマリー表示
common.sh
├── install_dependencies (Composer validate 追加済み)
├── print_success
├── print_error
└── log_message📊 ディレクトリ構造
プロジェクトルート/
│
├── composer.json # 開発依存関係
│ └── require-dev: PHPCS, PHPStan, etc
│
├── core_src/
│ ├── composer.json # 本番依存関係
│ │ ├── require: Twig
│ │ └── autoload:
│ │ └── psr-4: App\, MyCustom\
│ │
│ ├── vendor/
│ │ └── autoload.php
│ │
│ ├── Controller/
│ ├── Service/
│ ├── Model/
│ ├── View/
│ └── ...
│
├── scripts/
│ ├── composer-autoload-manager.sh # 🆕 Autoload 管理
│ ├── local-quality-check.sh # 改善済み
│ └── common.sh # 改善済み
│
└── docs/
└── composer/
└── composer-autoload-operations.md # 完全ガイド🔐 デプロイフロー
開発環境 本番環境
┌─────────────┐ ┌─────────────┐
│ 開発作業 │ │ 本番サーバー│
│ │ │ │
│ ・クラス追加│ │ connector.php│
│ ・テスト │ デプロイ │ core_yyyymmdd/│
│ ・validate │ =========> │ ├─vendor/ │
│ ・品質チェック│ │ ├─Controller/│
│ │ │ ├─Service/ │
└─────────────┘ │ └─... │
└─────────────┘
⚠️ 最適化済み
オートローダー
必須📈 状態確認
オートローダーの状態は以下で確認できます。
bash
# スクリプトで状態確認
./scripts/composer-autoload-manager.sh check🚨 トラブルシューティング フロー
"Class not found" エラー
│
v
composer install 実行?
(core_src でオートロード再生成)
│
┌─────┴─────┐
│ │
YES NO
│ │
v v
composer.json 実行する
正しい? cd core_src &&
│ composer install
YES │
v v
PHPStan 解決した?
で確認 │
┌────┴────┐
YES NO
│ │
v v
解決! check コマンド
で状態確認
│
v
Issue 作成凡例: ✅ 完了 / 🔧 進行中 / ⚠️ 注意事項 / 📊 メトリクス
最終更新: 2026-02-19