1

我正在使用这个库在我的服务器上实现 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 已成功导入库,并且看到了 NexmoMessage 的类和构造函数,但由于某种原因,无论我做什么,这个错误都会一直发生。我不确定这是由于库的问题还是我使用 Composer 的方式。过去我从来没有遇到过 Composer 的问题,所以我很困惑为什么会发生这种情况。谢谢

4

1 回答 1

2

好吧,那个库声明它支持 PSR-4,这意味着它们绝对必须使用 PHP 命名空间,但它们没有。8 个月前的最后一次提交https://github.com/prawnsalad/Nexmo-PHP-lib/commit/8e422c4f8f43c52acb70ebd5f9e7c6ff81a1f352破坏了自动加载。直到今天没有人注意到。

您可以通过查看源代码轻松判断:没有使用命名空间。

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

于 2015-02-07T13:30:15.933 回答