MeWrite Docs

PHP: Class not found (Composer autoload)

ComposerのオートロードでクラスがつからないエラーsizeIndex原因と解決策

概要

Composerのオートロードが正しく設定されておらず、クラスが見つからない場合のエラーです。

エラーメッセージ

``` PHP Fatal error: Uncaught Error: Class ‘App\Services\UserService’ not found ```

原因

  1. オートロード未実行: composer dump-autoload が必要
  2. 名前空間の不一致: PSR-4設定とディレクトリ構造が不一致
  3. ファイル名の不一致: クラス名とファイル名が異なる
  4. composer.json の設定ミス: autoload セクションの誤り

解決策

1. オートロードを再生成

```bash

基本

composer dump-autoload

最適化(本番向け)

composer dump-autoload –optimize

クラスマップを再生成

composer dump-autoload –classmap-authoritative ```

2. composer.json を確認

```json { “autoload”: { “psr-4”: { “App\”: “src/”, “Tests\”: “tests/” }, “files”: [ “src/helpers.php” ] } } ```

3. ディレクトリ構造を確認

``` src/ ├── Services/ │ └── UserService.php ← App\Services\UserService └── Models/ └── User.php ← App\Models\User ```

4. ファイル内の名前空間を確認

```php

関連エラー

PHP の他のエラー

最終更新: 2025-12-10