短信服務:將阿里大魚整合到ThinkPHP3.2,並使用

1.入駐阿里大魚:php

1.1 進入官網,先登陸api

1.2 入駐阿里大魚app

接下來是配置短信模板,和建立應用,要先建立應用才能夠下載SDK。框架

建立應用:curl

1.3下載SDK:函數

建立應用成功後,點紅色框url

另外還有另外一種下載SDK的方法:3d

1)進入管理中心xml

再進入 開發者控制檯:接口

在開發者控制檯能夠看到剛剛建立的應用:

選擇版本並下載:

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便可。

相關文章
相關標籤/搜索