作曲家自动加载器找不到类

时间:2019-09-20 18:04:01

标签: laravel composer-php autoloader composer.json

我在加载类时遇到问题。

安装我的软件包后,找不到该类,这是其错误消息:

   Illuminate\Contracts\Container\BindingResolutionException  : Target class [SundayIT\ChatbotAdmin\Commands\DBM_RealtimeStats] does not exist.

以下是自动加载器遗漏的该类的前几行:

<?php
    namespace SundayIT\ChatbotAdmin\Commands;

    use Illuminate\Console\Command;
    use Illuminate\Support\Facades\DB;
    use Symfony\Component\Console\Input\InputInterface;
    use Symfony\Component\Console\Output\OutputInterface;

    class DBM_RealtimeStats extends Command

这是软件包composer.json文件的相关部分

    "autoload": {
        "psr-4": {
            "SundayIT\\ChatbotAdmin\\": "src/"
        }
    },

这是文件结构: Directory screenshot

我想念什么?我尝试在此处检查其他问题,但未找到解决方案。谢谢

1 个答案:

答案 0 :(得分:1)

根据PSR-4 standard类名称,不应包含下划线。

  

下划线在完全限定的类名的任何部分都没有特殊含义。

这就是为什么将类重命名为DbmRealtimeStats并将文件重命名为DbmRealtimeStats.php的原因(如here所述)。