php sdk 如何安装使用,0.2 微信SDK下载与安装使用

叶谦
2023-12-01

**下载并载入SDK到项目中**

--

**方法`A`** 使用 [Composer](https://getcomposer.org) 下载安装,`SDK`符合`PSR`标准**(推荐)**。

---

>1. 用`composer`来下载安装`SDK`,需要确定框架会不会自动加载`vendor/autoload.php`文件

>2. 如果框架不能自动`vendor/autoload.php`,那么可以在项目中手动加载`vendor/autoload.php`文件

```

// 使用命名行下载SDK文件

composer require zoujingli/wechat-php-sdk

//在项目合适的地方向SDK注入配置参数(字段见下面)

\Wechat\Loader::config($options);

// 实例SDK相关的操作对象

$pay = new \Wechat\WechatPay();

```

**方法`B`** 普通文件加载(需要独立加载`\Wechat\Loader.php`文件)

---

>1. 首先通过 [Github](https://github.com/zoujingli/wechat-php-sdk) 或 [OSChina](http://git.oschina.net/zoujingli/wechat-php-sdk) 下载最新的微信SDK源代码

>2. 在项目中引入`include.php`是一个自动注册类加载的文件,功能与 [Composer](https://getcomposer.org) 类似。

```

// 引入SDK加载注册文件

include "zoujingli/wechat-php-sdk/include.php"

//在项目合适的地方向SDK注入配置参数(字段见下面)

\Wechat\Loader::config($options);

// 实例SDK相关的操作对象

$pay = new \Wechat\WechatPay();

...

```

**微信SDK所需要的参数**

--

使用前,需要准备好SDK的配置参数

---

```

$options = array(

'token' => '', // 填写你设定的key

'appid' => '', // 填写高级调用功能的app id, 请在微信开发模式后台查询

'appsecret' => '', // 填写高级调用功能的密钥

'encodingaeskey' => '', // 填写加密用的EncodingAESKey(可选,接口传输选择加密时必需)

'mch_id' => '', // 微信支付,商户ID(可选)

'partnerkey' => '', // 微信支付,密钥(可选)

'ssl_cer' => '', // 微信支付,证书cert的路径(可选,操作退款或打款时必需)

'ssl_key' => '', // 微信支付,证书key的路径(可选,操作退款或打款时必需)

'cachepath' => '', // 设置SDK缓存目录(可选,默认位置在./src/Cache下,请保证写权限)

);

```

**微信SDK实例的几种方法**

--

* 如:微信支付接口实例

```php

// 实例方法一 (在IDE工具上没有SDK方法的提示)

$pay = & \Wechat\Loader::get('Pay',$options);

// 实例方法二 (在IDE工具上没有SDK方法的提示)

\Wechat\Loader::config($options); // 在项目合适的地方向SDK注入配置参数(字段见上面)

$pay = & \Wechat\Loader::get('Pay'); // 这行可以在任何地方New,IDE会带提示功能哦

// 实例方法三 (在IDE工具上有SDK方法的提示)

$pay = new \Wechat\WechatPay($options);

// 实例方法四 (在IDE工具有SDK方法的提示)

\Wechat\Loader::config($options); // 在项目合适的地方向SDK注入配置参数(字段见上面)

$pay = new \Wehcat\WechatPay(); // 这行可以在任何地方New,IDE会带提示功能哦

```

* 如:微信菜单接口实例

```php

// 实例方法一 (在IDE工具上没有SDK方法的提示)

$menu = & \Wechat\Loader::get('Menu',$options);

// 实例方法二 (在IDE工具上没有SDK方法的提示)

\Wechat\Loader::config($options); // 在项目合适的地方向SDK注入配置参数(字段见上面)

$menu = & \Wechat\Loader::get('Menu'); // 这行可以在任何地方New,IDE会带提示功能哦

// 实例方法三 (在IDE工具上有SDK方法的提示)

$menu = new \Wechat\WechatMenu($options);

// 实例方法四 (在IDE工具有SDK方法的提示)

\Wechat\Loader::config($options); // 在项目合适的地方向SDK注入配置参数(字段见上面)

$menu = new \Wehcat\WechatMenu(); // 这行可以在任何地方New,IDE会带提示功能哦

```

**我们建议在项目中放置这样的函数,方便加载SDK对象**

---

* 下面是`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对象

$user = & load_wechat('User');

// 读取调用接口,读取微信官方粉丝列表

$result = $user->getUserList();

// 接口异常的处理

if ($result === FALSE) {

echo $user->errMsg;

echo $user->errCode;

} else {

// 接口正常的处理

}

```

* 读取单个粉丝的信息

```

// 加载SDK对象

$user = & load_wechat('User');

// 读取调用接口,读取微信粉丝信息,需要传入粉丝的openid

$result = $user->getUserInfo($openid);

// 接口异常的处理

if ($result === FALSE) {

echo $user->errMsg;

echo $user->errCode;

} else {

// 接口正常的处理

}

```

* 所有接口实例以此类推,方法一致。

想了解更多关于SDK的功能,请阅读下面的章节。

有什么不明白地方,可以阅读对应的源代码,相信代码这代码也是一种不错的表达试。

当然,我们也欢乐您在下面提出您的疑问。

```

// 微信多客服接口

$custom = & load_wechat('Custom');

// 微信周边设备接口

$device = & load_wechat('Device');

// 微信其它工具接口

$extends = & load_wechat('Extends');

// 微信媒体素材接口

$media = & load_wechat('Media');

// 微信菜单操作接口

$menu = & load_wechat('Menu');

// 微信网页授权接口

$oauth = & load_wechat('Oauth');

// 微信支付相关接口

$pay = & load_wechat('Pay');

// 微信被动消息处理SDK

$receive = & load_wechat('Receive');

// 微信网页脚本工具

$script = & load_wechat('Script');

// 微信粉丝操作接口

$user = & load_wechat('User');

```

 类似资料: