Php 作曲家没有';找不到类…但找到同级文件

Php 作曲家没有';找不到类…但找到同级文件,php,composer-php,autoload,Php,Composer Php,Autoload,我有一个文件夹结构,我知道这是好的,因为它的工作…在大多数情况下 请查看以下两个标题: namespace Library\GitHubClient\Client\Services; use Library\GitHubClient\Client\GitHubClient; use Library\GitHubClient\Client\GitHubService; use Library\GitHubClient\Client\Objects\GitHubTeam; use Library\

我有一个文件夹结构,我知道这是好的,因为它的工作…在大多数情况下

请查看以下两个标题:

namespace Library\GitHubClient\Client\Services;

use Library\GitHubClient\Client\GitHubClient;
use Library\GitHubClient\Client\GitHubService;
use Library\GitHubClient\Client\Objects\GitHubTeam;
use Library\GitHubClient\Client\Objects\GitHubFullTeam;
use Library\GitHubClient\Client\Objects\GitHubUser;
use Library\GitHubClient\Client\Objects\GitHubRepo;

class GitHubOrgsTeams extends GitHubService {

第一个文件composer自动加载而没有问题,但第二个文件找不到。令人头痛的是:他们都住在同一个文件夹里

事实上,从这个父构造函数中可以看到,有3个类位于同一文件夹中,只有前2个类是自动加载的

public function __construct(GitHubClient $client) {
    parent::__construct($client);

    $this->members = new GitHubOrgsMembers($client);
    $this->teams = new GitHubOrgsTeams($client);
    $this->repos = new GithubOrgsRepos($client);
}

作曲家是否遇到了某种限制问题?

我一直在三个地方写这篇文章:

  • 文件名中的输入错误(例如区分大小写的文件系统中的字母大写错误)
  • 自动加载器被缓存;为其运行
    composer dump autoload
    ,以重新构建自动加载器
  • 不太常见:您使用的是文件加载器而不是PSR,需要手动将文件添加到composer.json
最后要检查的是,您的调用代码(在构造函数中)肯定具有
use Library\GitHubClient\Client\Services\GithubOrgsRepos位于顶部的语句

正如您在评论中所建议的,以下是您可以接受的答案

这两行有助于注意可能的打字错误:

    $this->teams = new GitHubOrgsTeams($client);
    $this->repos = new GithubOrgsRepos($client);
第一个有一个大写字母H表示hub,而不是第二个


很可能您键入的类名或文件名有误。

好的,我可以自己回答最后的问题……不!我把那一行移到了第2行,但还是失败了。你得到的错误是什么?请把
composer.json
的内容和类文件的完整文件路径发布出来。我可以注意到一个细微的区别:
githuborgstreams
GithubOrgsRepos
。一个有一个大写字母H表示Hub,另一个没有。@Arcesilas谢谢!就这些。如果你想把它作为一个答案,我会选择它。今天我花了太多时间盯着代码,像这样愚蠢的事情让我抓狂。
    $this->teams = new GitHubOrgsTeams($client);
    $this->repos = new GithubOrgsRepos($client);