您的位置:首页 > 编程语言 > PHP开发

短信服务:将阿里大鱼整合到ThinkPHP3.2,并使用

2016-05-15 00:00 507 查看
摘要: 1. 入驻阿里大鱼、下载阿里大鱼短信服务的SDK;
2. 整合阿里大鱼SDK到ThinkPHP3.2框架

1.入驻阿里大鱼:

以下是阿里大鱼官网链接: http://www.alidayu.com/?channel=baidu&spm=a1z15.973.4467.17133&ad_id=1001319817aad41eae59&campaign_id=547194&b=1012&jlogid=a15145827db3dc

1.1 进入官网,先登录



1.2 入驻阿里大鱼







接下来是配置短信模板,和创建应用,要先创建应用才可以下载SDK。

创建应用:





1.3下载SDK:

创建应用成功后,点红色框





另外还有另一种下载SDK的方法:

1)进入管理中心



再进入 开发者控制台:



在开发者控制台可以看到刚刚创建的应用:



选择版本并下载:



2.根据需求选择需要的文件:

2.1 api文档可以看到:https://api.alidayu.com/doc2/apiDetail?spm=a3142.7791109.1.19.xfkKpE&apiId=25450

短信服务主要用到的是一下几个类文件:



根据官方api的示例代码,可以知道是这几个类文件:



其他三个分别是在一个两个类文件中调用。

所以,解压完SDK后,保留这几个文件,其他就可以删除,当然你保留也不会怎么的。

3. 将选好的文件作为第三方类库引入ThinkPHP3.2框架

引入第三方类库的方法,再次不做累述,在我的另外的一片博文有详细说明。

以下是我自己的部署,以及代码的写法:

3.1 将选好文件放在Library下的AliMsg文件夹(这个文件是自己建的),新建一个文件AliMsgSend.class.php来访问短信服务接口。



3.2 用构造函数初始化,短信需要用来的参数:



3.3 在sendMsg函数中引入需要用到的函数,下面的Log文件是我自己写的,用来打log的(以下的几幅暗色图都是来自于sendMsg函数):



设置appkey和secretkey:



下面这一段,和官方的api一样,我也是直接复制过来,改一下我参数($position是我用来打log的):



下面是对返回值的处理,返回数据的内容以及格式可以在官方文档看到:





返回值$resp,返回的是xml格式的数据。这是个坑。官方文档说是xml,所以我一开始是用simplexml_load_string()来处理$resp的,结果输出的结果是空,找了好久才发现,这货根本不需要用 simplexml_load_string() 处理,

可以直接使用的(相当于已经用 simplexml_load_string() 做处理)。

到此阿里大鱼作为第三方类库引入ThinkPHP3.2框架结束。

4 在controller中调用短信服务,以及一个我遇到的问题:



到此可以让代码跑起来。

开跑……出问题,抛出异常



为什么会这样呢,原来是因为php没有开启curl的扩展服务。

开启方法如下:


钩选php_curl即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: