Php 致命错误:类';NexmoMessage';找不到

Php 致命错误:类';NexmoMessage';找不到,php,composer-php,nexmo,Php,Composer Php,Nexmo,我正在使用在我的服务器上实现Nexmo SMS服务。我需要使用Composer的库,如下所示: "require" : { "prawnsalad/nexmo": "dev-master" } 我发现并遵循自述文件中的说明,如下所示: require 'vendor/autoload.php'; use NexmoMessage; $phone = '123456789'; $sms = new NexmoMessage(NEXMO_KEY, NEXMO_SECRET);//defined i

我正在使用在我的服务器上实现Nexmo SMS服务。我需要使用Composer的库,如下所示:

"require" : {
"prawnsalad/nexmo": "dev-master"
}
我发现并遵循自述文件中的说明,如下所示:

require 'vendor/autoload.php';
use NexmoMessage;
$phone = '123456789';
$sms = new NexmoMessage(NEXMO_KEY, NEXMO_SECRET);//defined in another file
$sms->sendText($phone, 'from', "yo");//$phone is a valid number in actual case

然而,我不断得到这个问题的标题中的错误。我看到Composer已经成功导入了库,并且看到了NexmomeMessage的类和构造函数,但是由于某种原因,无论我做什么,这个错误都会不断发生。我不确定这是因为库的问题还是我如何使用Composer的问题。我过去从来没有和作曲家有过争执,所以我很困惑为什么会在这里发生这种事。谢谢,该库声明它支持PSR-4,这意味着它们必须使用PHP名称空间,但它们不支持。8个月前的最后一次提交破坏了自动加载。直到今天还没有人注意到

通过查看源代码可以很容易地看出:没有使用名称空间


您现在的最佳操作是修复此问题并发送拉取请求!Github允许在浏览器中编辑文件!第二个最好的做法是创建一个问题并让作者知道。

好吧,在过去两周内已经发送了两个问题,我无法拒绝并发送了一个请求。不过,合并它不是我能做的。嘿,斯文,谢谢你的提示。那么您所做的修复只是将类映射替换为psr-4?请原谅我的无知,但我现在如何获得与您的修复版本?我必须等待有写权限的人合并这个吗?是的,如果你想从官方源代码,你必须等待合并。您还可以将我的存储库添加为另一个源,并要求“patch-1”分支立即获取它,但请注意:一旦该分支被合并,我将删除它,并且我也不会将其添加到PackageGist中-因此,如果您依赖它,这有点危险。您可以将classmap自动加载条目添加到您自己的
composer.json
,指向这些“Nexmo*”类的位置(如
vendor/prawnsalad/Nexmo/src
)。下载文件后将对此进行评估。它不会干扰任何其他回购协议的存在,也不会干扰合并。但是,您应该在更新时检查是否需要此修复程序,并尽快将其删除。OK cool。有道理。因此,为了明确起见,如果我想实现您的上一个建议,我会添加类似“自动加载”的内容:{“classmap”:[“vendor/”,“prawnsalad/”,“nexmo/”,“src/”]}