PHP Fatal error: Class not found
PHPでクラスが見つからない場合に発生するエラー
概要
PHPで使用しようとしたクラスが見つからない、またはオートロードできない場合に発生するエラーです。
エラーメッセージ
PHP Fatal error: Uncaught Error: Class 'App\Services\UserService' not found
原因
- クラスファイルが存在しない: ファイルが作成されていない
- オートロードの問題: composer dump-autoloadが必要
- 名前空間の不一致: クラスの名前空間とファイルパスが一致しない
- ファイル名の問題: クラス名とファイル名が一致しない
解決策
1. Composer オートロードを再生成
| |
2. 名前空間を確認
| |
| |
3. composer.json の autoload 設定を確認
| |
4. クラスファイルのパスを確認
プロジェクトルート/
├── composer.json
├── src/
│ └── Services/
│ └── UserService.php ← App\Services\UserService
└── vendor/
5. 手動で require
| |
6. オートロードファイルの読み込み確認
| |
7. classmap を使用
| |
よくある間違い
- ファイル名の大文字小文字(Linux環境で問題になる)
- vendorディレクトリがない(composer install未実行)
- 名前空間のバックスラッシュとディレクトリ構造の不一致
- PHPファイルの開始タグ(<?php)が抜けている
PHP の他のエラー
この記事は役に立ちましたか?