Php 作曲家自动加载不起作用

Php 作曲家自动加载不起作用,php,composer-php,autoload,Php,Composer Php,Autoload,我刚刚开始了一个新的PHP项目,就在前面,我遇到了autoloader的问题。我搜索了错误并查阅了文档(),但问题仍然存在 因此,我创建了一个最小的示例来缩小错误的原因-然而,即使使用这个最小的示例,它也不起作用:( 我的文件夹结构如下所示: + src/ | + Xyz.php + composer.json + test.php 这是我的密码 composer.json: { "name": "sg/ABC", "description": "abc", "auto

我刚刚开始了一个新的PHP项目,就在前面,我遇到了autoloader的问题。我搜索了错误并查阅了文档(),但问题仍然存在

因此,我创建了一个最小的示例来缩小错误的原因-然而,即使使用这个最小的示例,它也不起作用:(

我的文件夹结构如下所示:

+ src/
| + Xyz.php
+ composer.json
+ test.php
这是我的密码

composer.json:

{
    "name": "sg/ABC",
    "description": "abc",
    "autoload": {
        "psr-4": {
            "sg\\ABC\\": "src/"
        }
    }
}
Xyz.php:

<?php namespace sg\ABC;
    class Xyz
    {}
?>

此外,运行
composer dump autoload
(如本图板中的建议)也没有帮助

您仍然需要包含以包含加载的库。

您需要自动加载程序。。通常是
require\u once“path/to/vendor/autoload.php”

是的,我在最简单的示例中忘记了这一点。虽然在将其添加到示例中后,它起了作用,但实际的代码仍然不起作用。出于某种原因(我甚至还没有开始理解),在将代码一部分一部分地复制到新的存储库并首先添加空类,然后添加code.facepalm之后,它现在就起作用了
<?php namespace sg\ABC;
    use sg\ABC\Xyz;
    $a = new Xyz();
?>
$ php test.php 
PHP Fatal error:  Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5

Fatal error: Class 'sg\ABC\Xyz' not found in /dir/x/test.php on line 5