做這個擴充的原因主要是在yii2框架下迄今還沒有一款成熟且維護中的微信SDK,而作為每個後端人員,微信開發也許你無法繞過。因此在2017年PHP學堂開了一門叫做《構造開源的微信SDK》的課程並承諾課程完成後會將這個擴展開源出來,它是yii2-wx的前身。
當然此刻的yii2-wx擁有更強大的功能,除了支援微信公眾號介面外它還支援微信小程式、開放平台(後續版本開放)等。
yii2-wx 託管平台
你可以使用composer進行自動安裝和升級,北哥也推薦你這麼做。
<span style="font-size: 14px;">composer require "abei2017/yii2-wx"<br></span>
如果composer出現問題,請在後面加上 -vvv 參數,這樣可以看到具體報錯資訊。
<span style="font-size: 14px;">composer require "abei2017/yii2-wx" -vvv<br></span>
安裝成功後yii2-wx會儲存到程式的vendor/abei2017資料夾下。
如果你的環境無法使用composer那也沒關係,可以進入下載頁面下載對應版本後人工部署,步驟如下:
將安裝套件解壓縮放到程式某目錄下(例如新建一個ext資料夾)
開啟yii2的config/web.php檔案增加一個別名
<span style="font-size: 14px;">'aliases' => [<br> 'abei2017/wx' => '@app/ext/yii2-wx/src',<br>],<br></span>
提醒:別名和元件是同一級,不要放錯。我們使用別名的主要目的是可以正常的引用。
無論是自動安裝或手動安裝,yii2-wx的目錄結構都是一樣的,如下
<span style="font-size: 14px;">yii2-wx<br>- src<br>-- core //核心文件<br>-- helpers //帮助文件<br>-- mini //小程序接口<br>-- mp //公众号接口<br>-- Application.php //入口文件<br>- composer.json<br>- README.md<br></span>
按照上面的步驟你已經將yii2-wx成功安裝到你的yii2程式中,在使用之前我們需要設定下。
<span style="font-size: 14px;">'wx'=>[<br> // 公众号信息<br> 'mp'=>[<br> /**<br> * 账号基本信息,请从微信公众平台<br> */<br> 'app_id' => '', // AppID<br> 'secret' => '', // AppSecret<br> 'token' => '', // Token<br> 'encodingAESKey'=>'',<br> 'safeMode'=>0<br><br> 'payment'=>[<br> 'mch_id' => '',<br> 'key' => '',<br> 'notify_url' => '',<br> 'cert_path' => '', // XXX: 绝对路径!!!!<br> 'key_path' => '', // XXX: 绝对路径!!!!<br> ],<br><br> 'oauth' => [<br> 'scopes' => 'snsapi_userinfo',<br> 'callback' => '',<br> ],<br> ],<br> 'mini'=>[<br> 'app_id' => '', <br> 'secret' => '', <br> 'payment' => [<br> 'mch_id' => '',<br> 'key' => ''<br> ],<br> ]<br>],<br></span>
你只要保證mini和mp內陣列的key不變即可。例如現在我要產生一個臨時二維碼,可以如下程式碼
<span style="font-size: 14px;">$app = new Application(['conf'=>Yii::$app->params['wx']['mp']]);<br>$qrcode = $app->driver("mp.qrcode");<br><br>$result = $qrcode->intTemp(3600,9527);<br></span>
就這樣實現了,我們總是先實例化一個Application並傳遞參數(公眾號/小程式) ,然後使用driver來驅動對應介面的物件並使用對應方法。
以上是yii2-wx安裝與升級的詳細內容。更多資訊請關注PHP中文網其他相關文章!