【问题标题】:PSR-4 autoloading and namespace import not finding classesPSR-4 自动加载和命名空间导入未找到类
【发布时间】:2025-12-09 08:45:01
【问题描述】:

我正在尝试在某些单元测试中自动加载 src 文件夹和 use 它们的内容。 这是composer.json的自动加载部分

"autoload": {
    "psr-0": {
      "Meetup\\Login\\": "src/"
    }
}

src/core 文件夹中有一个名为 users 的类。附上截图。

知道为什么我在尝试使用use Meetup\Login\Core\Users 导入users 类的单元测试中收到错误PHP Fatal error: Class 'Meetup\Login\Core\Users

注意:很可能是我的愚蠢疏忽。

【问题讨论】:

  • 我认为问题在于你的类文件是 users.php 而它应该是 Users.php
  • 您的问题的标题是关于 PSR-4,但在您的 json 中代表 PSR-0? PSR-0 也不会在meetup/vendor 中查找课程吗?
  • 该死!感谢第二双眼睛。

标签: php namespaces phpunit psr-4


【解决方案1】:

正如@Orangepill 和@Havelock 所指出的,我的眼睛确实有问题。

应该是psr-4而不是psr-0,并且users.php需要重命名为Users.php

【讨论】: