作曲家类也没有发现



我正在开发一个Laravel软件包,但我对作曲家自动加载有问题。我的软件包在src文件夹下有2个文件夹。其中一个被命名为Laravel,另一个是Telegram。这是包装结构:

./packages
.../typhoon
...../src
......./Laravel
........./Providers
............LumenServiceProvider.php
............LaravelServiceProvider.php
......./Telegram
..........Api.php
.....composer.json

此软件包是在SaliBhdr/Typhoon名称空间中开发的。

我已经在Laravel的Composer文件中添加了packages/typhoon/src目录:

    "autoload": {
        "psr-4": {
            "App\": "app/",
            "SaliBhdr\Typhoon\" : "packages/typhoon/src/"
        }
    },

并在包装composer.json文件中添加src/地址:

    "autoload": {
        "psr-4": {
            "SaliBhdr\Typhoon\": "src/"
        }
    },

这是奇怪的行为开始。当我执行php artisan serve命令时,Laravel会引发一个错误,说:

 Class 'SalibhdrTyphoonLaravelProvidersLumenServiceProvider' not found 

,如果我检查类是否具有class_exists('SalibhdrTyphoonLaravelProvidersLumenServiceProvider')功能,它将返回false。但是,如果我检查SalibhdrTyphoonTelegramApi是否存在,则返回true

我检查了autoload_classmap文件,并注意作曲家包括Telegram子文件夹下的所有类,但不包括Laravel子文件夹。

为什么作曲家会这样奇怪?为什么它包括一个子文件夹而不是另一个子文件夹?这是我每天都在做的事情,从未见过这样的事情。

我迫切需要帮助。任何帮助将不胜感激

您正在尝试初始化SalibhdrTyphoonLaravelProvidersLumenServiceProvider,但在您的作曲家中是"SaliBhdr\Typhoon\": "src/"

请注意您的作曲家中的B。PHP类对案例敏感,因此您必须确保它既是小写或大写。

如果修改composer.json

,请确保运行composer dumpautoload

相关内容

  • 没有找到相关文章

最新更新