我使用this library在我的服务器上实施Nexmo SMS服务。我需要像使用Composer一样使用库:
"require" : {
"prawnsalad/nexmo": "dev-master"
}
我发现here并按照自述文件中包含的说明进行操作:
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的问题,所以我很不高兴为什么会这样。感谢
答案 0 :(得分:2)
那么,该库声明它支持PSR-4,这意味着它们绝对必须使用PHP命名空间,但它们并不是。 8个月前的最后一次提交https://github.com/prawnsalad/Nexmo-PHP-lib/commit/8e422c4f8f43c52acb70ebd5f9e7c6ff81a1f352打破了自动加载。直到今天都没有人注意到。
您可以通过查看源代码轻松判断:没有使用命名空间。
您现在最好的办法是解决此问题并发送拉取请求! Github允许在浏览器中编辑文件!第二个最好的行动是创建一个问题并让作者知道。