我正在尝试使用cakephp-sms插件发送短信
文档非常简洁明了。我在我的app/Plugin
目录中使用Composer安装了它。我还使用composer安装了xi-sms。它安装在Vendor
目录中。在我的控制器发送短信。我添加了App::uses('CakeSms', 'Sms.Network/Sms')
并在InfobipSmsTransport
中实施了Sms/Lib/Network/Sms
课程。以下是我的课程
<?php
use Xi\Sms\Gateway\InfobipGateway;
App::uses('AbstractSmsTransport', 'Sms.Network/Sms');
class InfobipSmsTransport extends AbstractSmsTransport {
const INFOBIP_USER = 'XXXXX';
const INFOBIP_PASSWORD = 'XXXXXXX';
/**
*
* @param CakeSms $sms
* @return bool Success
*/
public function send(CakeSms $sms) {
$gw = new InfobipGateway(
self::INFOBIP_USER,
self::INFOBIP_PASSWORD
);
$service = new Xi\Sms\SmsService($gw);
$msg = new Xi\Sms\SmsMessage(
$sms->message(),
$sms->from(),
$sms->to()
);
$response = $service->send($msg);
return !empty($response);
}
}
?>
当我尝试发送短信时,我收到以下错误
Class "InfobipSmsTransport" not found.
。我不知道做错了什么?欢迎任何线索或建议。
答案 0 :(得分:0)
CakeSms类没有加载插件。这是失败的代码行。
App::uses($transportClassname, $plugin . 'Network/Sms');
。
在我的app/Config/sms.php
我刚刚将此'transport' =>'Infobip'
更改为了
'transport' =>'Sms.Infobip'
。现在正在正确加载该插件并找到该类。