做这个扩展的原因主要是在yii2框架下迄今还没有一款成熟且维护中的微信SDK,而作为每个后端人员,微信开发也许你无法绕过。因此在2017年PHP学堂开了一门叫做《构造开源的微信SDK》的课程并承诺课程完成后会将这个扩展开源出来,它是yii2-wx的前身。
当然此刻的yii2-wx拥有更强大的功能,除了支持微信公众号接口外它还支持微信小程序、开放平台(后续版本开放)等。
yii2-wx 托管平台
使用Composer进行安装
你可以使用composer进行自动安装和升级,北哥也推荐你这样做。
composer require "abei2017/yii2-wx"
如果composer出现问题,请在后面添加 -vvv 参数,这样可以看到具体报错信息。
composer require "abei2017/yii2-wx" -vvv
安装成功后yii2-wx会存储到程序的vendor/abei2017文件夹下。
人工安装
如果你的环境无法使用composer那也没关系,可以进入 下载页面 下载对应版本后人工部署,步骤如下:
- 将安装包解压放到程序某目录下(比如新建一个ext文件夹)
- 打开yii2的config/web.php文件增加一个别名
'aliases' => [
'abei2017/wx' => '@app/ext/yii2-wx/src',
],
提醒:别名和组件是同一级,不要放错。我们使用别名的主要目的是可以正常的引用。
目录结构
无论是自动安装还是人工安装,yii2-wx的目录结构都是一样的,如下
yii2-wx
- src
-- core //核心文件
-- helpers //帮助文件
-- mini //小程序接口
-- mp //公众号接口
-- Application.php //入口文件
- composer.json
- README.md
配置
按照上面的步骤你已经将yii2-wx成功安装到你的yii2程序中,在使用之前我们需要配置下。
'wx'=>[
// 公众号信息
'mp'=>[
/**
* 账号基本信息,请从微信公众平台
*/
'app_id' => '', // AppID
'secret' => '', // AppSecret
'token' => '', // Token
'encodingAESKey'=>'',
'safeMode'=>0
'payment'=>[
'mch_id' => '',
'key' => '',
'notify_url' => '',
'cert_path' => '', // XXX: 绝对路径!!!!
'key_path' => '', // XXX: 绝对路径!!!!
],
'oauth' => [
'scopes' => 'snsapi_userinfo',
'callback' => '',
],
],
'mini'=>[
'app_id' => '',
'secret' => '',
'payment' => [
'mch_id' => '',
'key' => ''
],
]
],
你只要保证mini和mp内数组的key不变即可。比如现在我要生成一个临时二维码,可以如下代码
$app = new Application(['conf'=>Yii::$app->params['wx']['mp']]);
$qrcode = $app->driver("mp.qrcode");
$result = $qrcode->intTemp(3600,9527);
就这样实现了,我们总是先实例化一个Application并传递参数(公众号/小程序),然后使用driver来驱动对应接口的对象并使用对应方法。
相关文献
- Composer https://getcomposer.org/
- Packagist https://packagist.org/package...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。