为了账号安全,请及时绑定邮箱和手机立即绑定

即使存在,也找不到 Composer 类

即使存在,也找不到 Composer 类

PHP
红颜莎娜 2021-09-05 20:56:57
我正在开发一个 Laravel 包,但我在 Composer 自动加载方面遇到了问题。我的包在src文件夹下有 2 个文件夹。其中一个是命名的Laravel,另一个是Telegram. 这是包结构:./packages.../typhoon...../src......./Laravel........./Providers............LumenServiceProvider.php............LaravelServiceProvider.php......./Telegram..........Api.php.....composer.json这个包是在SaliBhdr/Typhoon命名空间下开发的。我packages/typhoon/src在 Laravel 的 composer 文件中添加了目录,如下所示:    "autoload": {        "psr-4": {            "App\\": "app/",            "SaliBhdr\\Typhoon\\" : "packages/typhoon/src/"        }    },并src/在 package composer.json 文件中添加地址,如下所示:    "autoload": {        "psr-4": {            "SaliBhdr\\Typhoon\\": "src/"        }    },这是奇怪的行为开始。当我执行php artisan serve命令 Laravel 抛出一个错误,说: Class 'Salibhdr\Typhoon\Laravel\Providers\LumenServiceProvider' not found 如果我检查该类是否存在,class_exists('Salibhdr\Typhoon\Laravel\Providers\LumenServiceProvider')它会返回false. 但是,如果我检查是否Salibhdr\Typhoon\Telegram\Api存在,它会返回true.我检查了autoload_classmap文件并注意到作曲家包括Telegram子Laravel文件夹下的所有类,但不包括子文件夹。为什么作曲家的行为如此奇怪?为什么它包含一个子文件夹而不包含另一个?这是我每天都在做的事情,从来没有见过这样的事情。我迫切需要帮助。任何帮助,将不胜感激
查看完整描述

1 回答

?
忽然笑

TA贡献1806条经验 获得超5个赞

您正在尝试初始化,Salibhdr\Typhoon\Laravel\Providers\LumenServiceProvider但在您的作曲家中它是"SaliBhdr\\Typhoon\\": "src/".

注意B你的作曲家的大写。PHP 类区分大小写,因此您必须确保它是小写或大写。

另外,还要确保运行composer dumpautoload,如果你修改composer.json


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信