Class 在 psr-4 作曲家自动加载中找不到

Class not found in psr-4 composer autoloading

我有一个包含供应商文件夹的基础文件夹,其中包括 composer 文件夹和我创建的文件夹 src。 src 文件夹包含工作所需的所有 classes。

在 src 文件夹中,我有下面的 class 示例

<?php

    namespace Test;

    class Example{
        public function display(){
            echo "This is Example Class";
        }
    }

 ?>

我的 composer.json 有以下内容:

{
    "autoload":{
        "psr-4":{
            "Test\":"src"
        }
    }   
}

最后,我在基本文件夹的测试文件中创建示例 class 的实例:

<?php

    require 'vendor/autoload.php';

    $a=new Test\Example();
    $a->display();


?>

问题是当我尝试 运行 测试文件时发生以下错误:[致命错误:未捕获错误:Class 'Test\Example' 未找到。]

请帮我看看我做错了什么,Here是目录结构的屏幕截图。 提前致谢。

老实说,我不确定您的 srctesting.phpcomposer.json 位于何处,但它们应该位于主目录中(在您的情况下为 2-Basic -example 而不是 vendor 目录中)。然后 运行:

composer dump-autoload

假设您的 Example class 在 src 目录

中保存为 Example.php,它应该可以工作