下面由thinkphp框架教學專欄給大家分享thinkphp整合企業號的坑,希望對需要的朋友有幫助!
ThinkPHP 使用微信企業號回調的坑
最近在做企業號回調的接口,之前做過幾個企業號的應用了,每次接入到Thinkphp都報各種各樣的錯誤,算哥倒霉,該踩的不該踩的坑全踩了。
這次掉坑差點就放棄了,開發過企業號的都知道,企業號回調會經過一個加密的演算法,要求開發者對此進行解密才能開啟回調,就是個這個回調,微信的錯誤提示極度霸道,不管你什麼錯,就一句話「 echostr校驗失敗,請您檢查是否正確解密並輸出明文echostr」。最起碼應該告訴一下開發者,微信收到的回傳長度是多少,也好與自己的輸出進行校驗,如果長度都不一致,就更不用說內容了。
如果你跟我一樣用了tp框架,那你要留意了,這篇文章以Thinkphp3.2.3 php版本5.3為例
坑1
下載官方的處理介面的範例,放在Thinkphp>Library>Wechat(自建)目錄下
修改WXBizMsgCrypt.php為WXBizMsgCrypt.class.php
##在WXBizMsgCrypt中宣告命名空間namespace Wechat;
在你需要的控制器中引入類別use Wechat WXBizMsgCrypt;
#之後就是使用官方的sample copy進你的專案簡單修改下就算整合完成了,過程挺簡單的,但是!在PHP5.3之前建構函數的寫法和PHP5.3之後有變化,建構函數不能再以類別名稱當作函數名稱來命名,必須要使用__construct宣告一個建構函數,也就是說用官方的例子來整合是一定會報錯的,當然前提是你用的也是PHP5.3之後的版本。