>  기사  >  php教程  >  详解阿里大鱼短信使用

详解阿里大鱼短信使用

PHP中文网
PHP中文网원래의
2017-03-29 17:04:131303검색

我在做毕设,项目中想用短信验证功能,就找到了阿里大鱼,价格貌似目前最低,其他什么都好弄,就是导入到项目中,不知道怎么用,一直报错,网上查了,大都是和文档案例一样,没用,tp里还有专栏范例,估计都是旧版本,也没用。最后搞出来了,特在此记录一下。
下载SDK,解压引入Autoload.php、TopSdk.php及aliyun和top两个文件夹。
我引入的位置是 APP_PATH/Common/Lib/Alidayu/,不动tp文件我觉得好些。
新建一个类文件 SendMSM.class.php,这个根据自己需求来。

<?php

namespace Lib\Alidayu;


include(&#39;TopSdk.php&#39;);
//就是下面两句把我搞惨了,别嫌弃,我只是入门了而已
use TopClient; 
use AlibabaAliqinFcSmsNumSendRequest;

class SendMSM {
    
    public function send($recNum=&#39;&#39;, $smsParam=&#39;&#39;, $smsTemplateCode=&#39;SMS_8525079&#39;, $smsFreeSignName=&#39;短信测试&#39;){
        $c = new TopClient;
        $c->format = "json";
        $c->appkey = C(&#39;AlidayuAppKey&#39;);
        $c->secretKey = C(&#39;AlidayuAppSecret&#39;);
        $req = new AlibabaAliqinFcSmsNumSendRequest;
        //$req->setExtend("123456");
        $req->setSmsType("normal");
        $req->setSmsFreeSignName($smsFreeSignName);
        $req->setSmsParam($smsParam);
        $req->setRecNum($recNum);
        $req->setSmsTemplateCode($smsTemplateCode);
        $resp = $c->execute($req);
        return $resp;
    }
    
}

我把AppKey 和 secret 放到了单独的配置文件,以便后期重置了可以在后台修改。

然后就是使用了,

<?php
namespace Admin\Controller;

use Think\Controller;
use Lib\Alidayu\SendMSM;

class IndexController extends Controller {
    public function index(){
        $this->sendMSM();
    }
    
    protected function sendMSM(){
        $alidayu = new SendMSM();
        $result = $alidayu->send(&#39;13000000000&#39;,&#39;{"code":"123456"}&#39;);
        dump($result);
    }
}

测试结果:

object(stdClass)[11]
  public &#39;result&#39; => 
    object(stdClass)[12]
      public &#39;err_code&#39; => string &#39;0&#39; (length=1)
      public &#39;model&#39; => string &#39;101550887105^1102084861016&#39; (length=26)
      public &#39;success&#39; => boolean true
  public &#39;request_id&#39; => string &#39;12cl9hupqvkgh&#39; (length=13)
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.