PHP集成腾讯云短信SDK

1:首先阅读官方文档,https://cloud.tencent.com/document/product/382/9557

2:官方文档上边又得我就不赘述了,下面说一下我遇到的问题:

下载SDK之后放到我的项目中,报错如下:


SDK中的demo文件引用如下:

require __DIR__ . "/vendor/autoload.php";

use Qcloud\Sms\SmsSingleSender;
use Qcloud\Sms\SmsMultiSender;
use Qcloud\Sms\SmsVoiceVerifyCodeSender;
use Qcloud\Sms\SmsVoicePromptSender;
use Qcloud\Sms\SmsStatusPuller;
use Qcloud\Sms\SmsMobileStatusPuller;

而SDK中并没有提供autoload.php;并且我只是想简单的发送个短信验证码,下边的这几个use也就不需要了。

精简后,代码如下:

require_once "../qcloudsms_php-master/Autoloading/SmsMobileStatusPuller.php";
require_once "../qcloudsms_php-master/Autoloading/SmsMultiSender.php";
require_once "../qcloudsms_php-master/Autoloading/SmsSenderUtil.php";
require_once "../qcloudsms_php-master/Autoloading/SmsSingleSender.php";
require_once "../qcloudsms_php-master/Autoloading/SmsStatusPuller.php";
use Qcloud\Sms\SmsSingleSender;
try {
    $ssender = new SmsSingleSender($_TIDE['code_qc_appid'], $_TIDE['code_qc_appkey']);
    $params = array($str,'10');
    $result = $ssender->sendWithParam("86", $phone, $_TIDE['code_qc_templateId'], $params, $_TIDE['code_qc_smsSign'], "", "");
    $rsp = json_decode($result);
    return 1;
} catch(\Exception $e) {
    return 0;
}

其中由于我这里业务的需要,根据不同的情况会在阿里的平台和腾讯平台任选其一进行发短信发送,在实现逻辑的过程中,将use ***;写在了if判断中,导致报错,代码如下:

if($_TIDE['code_flag'] == 0){
    require_once "../aliyun-php-sdk-core/Config.php";
    use Sms\Request\V20160927 as Sms;
}elseif($_TIDE['code_flag'] == 1){
    require_once "../qcloudsms_php-master/Autoloading/SmsMobileStatusPuller.php";
    require_once "../qcloudsms_php-master/Autoloading/SmsMultiSender.php";
    require_once "../qcloudsms_php-master/Autoloading/SmsSenderUtil.php";
    require_once "../qcloudsms_php-master/Autoloading/SmsSingleSender.php";
    require_once "../qcloudsms_php-master/Autoloading/SmsStatusPuller.php";
    use Qcloud\Sms\SmsSingleSender;
}

报错如下:


然而移出来之后就没问题了,代码如下:

if($_TIDE['code_flag'] == 0){
	require_once "../aliyun-php-sdk-core/Config.php";
}elseif($_TIDE['code_flag'] == 1){
	require_once "../qcloudsms_php-master/Autoloading/SmsMobileStatusPuller.php";
	require_once "../qcloudsms_php-master/Autoloading/SmsMultiSender.php";
	require_once "../qcloudsms_php-master/Autoloading/SmsSenderUtil.php";
	require_once "../qcloudsms_php-master/Autoloading/SmsSingleSender.php";
	require_once "../qcloudsms_php-master/Autoloading/SmsStatusPuller.php";
}
use Sms\Request\V20160927 as Sms;
use Qcloud\Sms\SmsSingleSender;

至于原因我暂时还没找到,只是查到说不能写到方法体中。




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值