Thinkphp3.1使用Aliyun短信

     接口Demo包解压,放到Vendor文件夹下
    在控制器中引入

引入问题,.class.php第三方库可以放在Org下也可以放在Vendor下,此处调用可参考官方手册。

.php形第三方库需放在Vendor下,并使用以下形式调用。

此处我将api_demo文件夹改为demo,是因为遇到了引入报错,如果可正常使用时不必修改。

    Vendor('Sms.demo.SmsDemo');//更改了文件夹

    调用Demo方法,并注掉SMSDemo.php下底部的直接调用

new方法注意,不添加namespace及use,只用Vendor引入时,要从\根目录开始引用

    header('Content-Type: text/plain; charset=utf-8');
    $response =new \SmsDemo();//注意\
    $respons = $response::sendSms($phone,$msg,$sign,$templ);//重写
    echo "发送短信(sendSms)接口返回的结果:\n";
    print_r($respons);//打印全部
    echo "返回状态为:".$respons->Code."<br>";//部分打印
    echo "返回信息:".$respons->Message."<br>";//部分打印

    重写sendSMS( )方法

    /**
     * 发送短信
     * @return stdClass
     * num-手机号,message-验证码数字,sign-签名名称,templ-模板code
     */
    public static function sendSms($num,$message,$sign=null,$templ=null) {
        // 初始化SendSmsRequest实例用于设置发送短信的参数
        $request = new SendSmsRequest();
        // 必填,设置短信接收号码
        $request->setPhoneNumbers($num);
        // 必填,设置签名名称,应严格按"签名名称"填写,
        if($sign==null){
            $sign=yoursign;
        }
        if($templ==null){
            $templ=yourcode;
        }
        $request->setSignName($sign);
        // 必填,设置模板CODE,应严格按"模板CODE"填写
        $request->setTemplateCode($templ);
        // 可选,设置模板参数, 假如模板中存在变量需要替换则为必填项
        $request->setTemplateParam(json_encode(array(// 短信模板中字段的值
            "code"=>$message,
            "product"=>"dsd"
        ), JSON_UNESCAPED_UNICODE));
        // 可选,设置流水号
        $request->setOutId("yourOutId");
        // 选填,上行短信扩展码(扩展码字段控制在7位或以下,无特殊需求用户请忽略此字段)
        $request->setSmsUpExtendCode("1234567");
        // 发起访问请求
        $acsResponse = static::getAcsClient()->getAcsResponse($request);
        return $acsResponse;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值