PSR-4作曲家自动加载中找不到类

时间:2018-08-25 20:09:31

标签: php composer-php autoload psr-4

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

在src文件夹中,下面有类示例

<?php

    namespace Test;

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

 ?>

我的composer.json具有以下内容:

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

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

<?php

    require 'vendor/autoload.php';

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


?>

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

请帮助我我在做什么错,Here是目录结构的屏幕快照。 预先感谢。

1 个答案:

答案 0 :(得分:2)

说实话,我不确定您的srctesting.phpcomposer.json的位置,但是它们应该位于主目录中(在您的情况下为2-基本示例而不是在vendor目录中)。然后运行:

composer dump-autoload

,并且假设您的Example类在Example.php目录中另存为src,它应该可以工作