ディレクトリ構造と
オートローダーの実装
2026.04.14
10 MIN READ
AUTHOR: MAYA
"美しいコードは、美しいディレクトリ構造から生まれます。Composer が使えない環境で、いかにして『疎結合』なファイル管理を実現するか。その答えがオートローダーでした。"
1. 意味のある「階層」を作る
MVCを自作するにあたり、まず徹底したのは `app/`, `core/`, `public/` の完全な分離です。コントローラーやモデルがどこに配置されるべきか。その物理的な配置が、システム全体の依存関係を決定づけます。
Ideal Directory Map
project/ ├── app/ # Business Logic (Model, View, Controller) ├── core/ # Framework Engine (Router, Database, Auth) ├── public/ # Entry Point (index.php, assets) └── config/ # Environment Settings
2. SPL_autoload_register の魔法
かつてのPHP開発は `require_once` の羅列でした。これを排除し、クラス名とファイルパスを動的に紐付けるオートローダーを `core/Bootstrap.php` に実装しました。
Automated Loading
クラスがインスタンス化される直前に、その名前から自動的にファイルを特定して読み込む。この単純な仕組みが、開発体験を劇的に向上させました。
3. 「標準」への橋渡し
このオートローダーは PSR-4 に完全に準拠しているわけではありませんが、名前空間の概念を取り入れることで、将来的にモダンな環境へ移行する際の「痛み」を最小限にするための布石となりました。