laravel - Composer 自动加载器找不到类

标签 laravel autoloader composer-php

我在类的类加载方面遇到问题。

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

   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

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

最佳答案

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

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

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

关于laravel - Composer 自动加载器找不到类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58033250/

相关文章:

javascript - React CRUD 应用程序中出现错误 : TypeError: Cannot destructure property 'id' of 'this.props.event' as it is undefined

php - Laravel 别名找不到类

php - 警告 : Module 'curl' already loading in Unknown on line 0 (Fix this from a custom. php.ini 文件)

linux - 如何将 laravel 项目从 Windows 迁移到 Linux?

php - Laravel 用于开发和生产的 5 种不同的日志级别

php - 无法在 Laravel 迁移中添加外键约束

php - 如何从 Laravel 5 中的 HTTP 响应获取自定义 header ?

php - 自动加载器应该放在 MVC 中的什么地方?

python - 我应该始终使用最 pythonic 的方式来导入模块吗?

git - Composer 在单独的存储库上提取最新的提交