You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Composer PSR-4实现自动加载报错:找不到指定类

解决Composer PSR-4自动加载找不到类的问题

我来帮你搞定这个报错——核心问题出在你的PSR-4自动加载映射配置搞反了,导致Composer找不到你的Connection类。

问题根源拆解

先理清楚PSR-4的核心规则:命名空间前缀对应源码根目录,前缀后的命名空间片段要和目录结构完全匹配。

你的Connection类命名空间是Blog\Classes\Database\Connection,对应的文件路径应该是app/Classes/Database/Connection.php(假设app/是你的源码根目录)。但你当前的composer.json配置把Blog\直接映射到了app/classes/Database,这会让Composer去app/classes/Database/Classes/Database/Connection.php找这个类——显然这个路径根本不存在,所以才会报类找不到的错误。

修复步骤

  1. 修正composer.json的PSR-4配置
    把配置改成下面这样,让Blog\前缀对应到你的源码根目录app/:

    {
      "autoload": {
        "psr-4": {
          "Blog\\": "app/"
        }
      }
    }
    
  2. 重新生成自动加载文件
    配置修改后,必须执行以下命令让Composer更新自动加载映射:

    composer dump-autoload
    
  3. 确认文件结构正确
    最后检查你的项目文件结构是否符合以下规范:

    blog-oop/
    ├── app/
    │   └── Classes/
    │       └── Database/
    │           └── Connection.php
    ├── vendor/
    ├── composer.json
    └── index.php
    

做完这三步,再运行你的index.php,应该就能正常加载Connection类了。

内容的提问来源于stack exchange,提问作者Blues Clues

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:31:12