Composer 自动加载器找不到 class

Composer autoloader cannot find class

我在 class 加载 classes 时遇到问题。

安装我的包后它没有找到 class,这是它的错误消息:

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

这是自动加载器遗漏的 class 的前几行:

<?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/"
        }
    },

这是文件结构:

我错过了什么?我试过在这里检查其他问题,但没有找到解决方案。谢谢

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

Underscores have no special meaning in any portion of the fully qualified class name.

这就是将 class 重命名为 DbmRealtimeStats 并将文件重命名为 DbmRealtimeStats.php 的原因(如前所述 )。