## **關于微信SDK文件描述**
所有微信接口源文件都位于`Wechat`目錄之下,可自行查看源代碼。
* `WechatCard.php`微信卡券接口
* `WechatCustom.php`微信多客服接口
* `WechatDevice.php`微信周邊設備接口
* `WechatExtends.php`微信其它工具接口
* `WechatMedia.php`微信媒體素材接口
* `WechatMenu.php`微信菜單操作接口
* `WechatOauth.php`微信網頁授權接口
* `WechatPay.php`微信支付相關接口
* `WechatPoi.php`微信門店相關接口
* `WechatReceive.php`微信被動消息處理SDK
* `WechatScript.php`微信網頁腳本工具
* `WechatUser.php`微信粉絲操作接口
## **微信SDK文檔中的舉例說明**
* 文檔的舉例均使用了`load_wechat`函數來加載實例,我也建議在項目中放置一個這樣的函數
* 下面是`load_wechat`助手函數標準代碼,請根據自己項目的情況動態讀取微信配置參數
~~~
/**
* 獲取微信操作對象(單例模式)
* @staticvar array $wechat 靜態對象緩存對象
* @param type $type 接口名稱 ( Card|Custom|Device|Extend|Media|Oauth|Pay|Receive|Script|User )
* @return \Wehcat\WechatReceive 返回接口對接
*/
function & load_wechat($type = '') {
static $wechat = array();
$index = md5(strtolower($type));
if (!isset($wechat[$index])) {
// 定義微信公眾號配置參數(這里是可以從數據庫讀取的哦)
$options = array(
'token' => '', // 填寫你設定的key
'appid' => '', // 填寫高級調用功能的app id, 請在微信開發模式后臺查詢
'appsecret' => '', // 填寫高級調用功能的密鑰
'encodingaeskey' => '', // 填寫加密用的EncodingAESKey(可選,接口傳輸選擇加密時必需)
'mch_id' => '', // 微信支付,商戶ID(可選)
'partnerkey' => '', // 微信支付,密鑰(可選)
'ssl_cer' => '', // 微信支付,雙向證書(可選,操作退款或打款時必需)
'ssl_key' => '', // 微信支付,雙向證書(可選,操作退款或打款時必需)
'cachepath' => '', // 設置SDK緩存目錄(可選,默認位置在Wechat/Cache下,請保證寫權限)
);
\Wechat\Loader::config($options);
$wechat[$index] = \Wechat\Loader::get($type);
}
return $wechat[$index];
}
~~~
* 其實代碼只是個人愛好,完全看你們如何來控制玩轉文件加載加載機制。
* SDK內部也提供了一種單例加載的方式,也就是`\Wechat\Loader::get('Pay',$options)`方式,但是通過這種方式去加載SDK對象,仍舊需要每次都提供微信的配置參數,因此我們也極力推薦使用助手函數來實現,也就是上面的舉例。
* 當然SDK中所有的類都是可以直接實例的,如:`$pay = new \Wechat\WechatPay($options)`。
* 這里所涉及到的`$options`參數就得自己去準備了,參數字段如下:
~~~
$options = array(
'token' => '', // 填寫你設定的key
'appid' => '', // 填寫高級調用功能的app id, 請在微信開發模式后臺查詢
'appsecret' => '', // 填寫高級調用功能的密鑰
'encodingaeskey' => '', // 填寫加密用的EncodingAESKey(可選,接口傳輸選擇加密時必需)
'mch_id' => '', // 微信支付,商戶ID(可選)
'partnerkey' => '', // 微信支付,密鑰(可選)
'ssl_cer' => '', // 微信支付,證書cert的路徑(可選,操作退款或打款時必需)
'ssl_key' => '', // 微信支付,證書key的路徑(可選,操作退款或打款時必需)
'cachepath' => '', // 設置SDK緩存目錄(可選,默認位置在./src/Cache下,請保證寫權限)
);
~~~