腾讯云短信对接二次封装类(SDK2.0)快速上手
为什么是SDK2.0版本?
别问,问就是简单好用!仅仅是针对发送短信,无论是单发还是群发都足够了。
SDK下载安装
方式1:直接composer安装
composer require houxiaobei/qcloudsms
方式2:官方推荐
在composer.json中引入下
"require": { "qcloudsms/qcloudsms_php": "0.1.*" },
二次封装类
<?php namespace osc\common\library; use Qcloud\Sms\SmsSingleSender; use osc\common\exception\BaseException; use Qcloud\Sms\SmsMultiSender; /** * 腾讯云短信服务类 * Class Sms * @package osc\common\library */ class Sms { private $appid = 1400****94; // 短信appid private $appkey = '982ab44********d0a8d6eb**'; // 短信应用key private $smsSign = '腾讯云'; // 签名 private $nationalCode = '86'; // 国家码 /** * 发送短信 (单条) * @param $templateId * @param $phone * @param array $params * @return mixed * @throws BaseException */ public function sendSms($templateId, $phone, array $params) { try { $ssender = new SmsSingleSender($this->appid, $this->appkey); $result = $ssender->sendWithParam( $this->nationalCode, $phone, $templateId, $params, $this->smsSign, "", ""); return json_decode($result, true); } catch (\Exception $e) { throw new BaseException(['msg' => $e->getMessage()]); } } /** * 群发短信 * @param $templateId * @param array $phones * @param array $params * @return mixed * @throws BaseException */ public function sendSmsGroup($templateId, array $phones, array $params) { try { $msender = new SmsMultiSender($this->appid, $this->appkey); $result = $msender->sendWithParam( $this->nationalCode, $phones, $templateId, $params, $this->smsSign, "", ""); return json_decode($result, true); } catch (\Exception $e) { throw new BaseException(['msg' => $e->getMessage()]); } } }
简单的说下就是params参数为数组,对应模板中的{1},{2}变量,其他就没什么特别的了。
官方sdk说明:https://cloud.tencent.com/document/product/382/9557
appid和appkey查找方法:
评论