微信公众平台 PHP SDK

介绍

简单的微信公众平台 PHP SDK ,通过调用相应的接口,使你可以轻松地开发微信 App 。测试方法如下:

Clone 或下载项目源码,上传至服务器。

进入微信公众平台,高级功能,开启开发模式,并设置接口配置信息。修改 URL 为 /example/server.php 的实际位置,修改 Token 为 weixin (可自行在 /example/server.php 中更改)。

向你的微信公众号发送消息并测试吧!

用法

直接浏览 /example/server.php 了解基本用法,以下为详细说明。

通过继承 Wechat 类进行扩展,通过重写 onSubscribe() 等方法响应关注等请求:

class MyWechat extends Wechat {

protected function onSubscribe() {} // 用户关注

protected function onUnsubscribe() {} // 用户取消关注

protected function onText() {

// 收到文本消息时触发,此处为响应代码

}

protected function onImage() {} // 收到图片消息

protected function onLocation() {} // 收到地理位置消息

protected function onLink() {} // 收到链接消息

protected function onUnknown() {} // 收到未知类型消息

}

使用 getRequest() 可以获取本次请求中的参数(不区分大小写):

$this->getRequest();

// 无参数时,返回包含所有参数的数组

$this->getRequest('msgtype');

// 有参数且参数存在时,返回该参数的值

$this->getRequest('ghost');

// 有参数但参数不存在时,返回 NULL

所有请求均包含:

ToUserName 接收方帐号(该公众号ID)

FromUserName 发送方帐号(代表用户的唯一标识)

CreateTime 消息创建时间(时间戳)

MsgId 消息ID(64位整型)

文本消息请求:

MsgType text

Content 文本消息内容

图片消息请求:

MsgType image

PicUrl 图片链接

地理位置消息请求:

MsgType location

Location_X 地理位置纬度

Location_Y 地理位置经度

Scale 地图缩放大小

Label 地理位置信息

链接消息请求:

MsgType link

Title 消息标题

Description 消息描述

Url 消息链接

事件推送:

MsgType event

Event 事件类型

EventKey 事件 Key 值,与自定义菜单接口中 Key 值对应

其中,事件类型 Event 的值包括以下几种:

subscribe 关注

unsubscribe 取消关注

CLICK 自定义菜单点击事件(未验证)

使用 responseText() 方法回复文本消息:

$this->responseText(

$content, // 消息内容

$funcFlag // 可选参数(默认为0),设为1时星标刚才收到的消息

);

使用 responseMusic() 方法回复音乐消息:

$this->responseMusic(

$title, // 音乐标题

$description, // 音乐描述

$musicUrl, // 音乐链接

$hqMusicUrl, // 高质量音乐链接,Wi-Fi 环境下优先使用

$funcFlag // 可选参数,默认为0,设为1时星标刚才收到的消息

);

使用 responseNews() 方法回复图文消息:

$this->responseNews(

$items, // 由单条图文消息类型 NewsResponseItem() 组成的数组

$funcFlag // 可选参数,默认为0,设为1时星标刚才收到的消息

)

其中单条图文消息类型 NewsResponseItem() 格式如下:

$items[] = new NewsResponseItem(

$title, // 图文消息标题

$description, // 图文消息描述

$picUrl, // 图片链接

$url // 点击图文消息跳转链接

);

最后,实例化 MyWechat() 并调用 run() 方法即可运行。

$wechat = new MyWechat(

$token, // 你在公众平台设置的 Token

$debug // 调试模式,默认为 FALSE ,设为 TRUE 后可将错误通过文本消息回复显示

);

$wechat->run();

TODO

完善文档和注释;

完善异常处理;

提供 Composer 方式安装。

微信公众号 php sdk,GitHub - yuanchenglu/wechat-php-sdk: 微信公众平台 PHP SDK相关推荐

  1. 个人微信公众号及个人GitHub信息

    写技术博客,主要是作为自己技术积累的一个笔记,不求与人相比,但求不断超越自己!加油! CSDN个人专栏信息现在不能用了,但是有些信息需要连接一下,方便使用,所以在专门放一篇文章吧. 1,点击访问个人G ...

  2. 小程序 php wecahtpay,PHP 微信公众号,小程序获取支付参数。微信支付

    PHP 微信公众号,小程序获取支付参数.微信支付 发布时间:2018-09-26 11:19, 浏览次数:278 , 标签: PHP 首先下载微信官方demo放入项目中 地址:https://gith ...

  3. 公众号自动回复不生效php,php,微信公众平台开发者_微信公众号开发者自动回复设置没反应,php,微信公众平台开发者 - phpStudy...

    微信公众号开发者自动回复设置没反应 在新浪sea平台设置了微信公众号应用,设置关注自动回复功能,接口设置成功,,代码写好,url也修改代码的页面,但是测试后没反应. //define your tok ...

  4. 公众号开发精品教程(2)——将项目接入微信及简单交互

    系列文章传送门 公众号开发精品教程(1)--绪论及环境搭建 公众号开发精品教程(2)--将项目接入微信及简单交互 公众号开发精品教程(3)--创建菜单 公众号开发精品教程(4)--生成带参数的二维码及 ...

  5. 微信公众号开发小坑:确认访问的微信是否为已关注公众号,秘钥使用全局access_token不能使用局部变量access_token

    环境说明: 1.项目功能:年会抽奖活动开发,子功能:获取客户的相对公众号的唯一oppenid,然后确认是否关注本公众号,关注则获取客户信息后发抽奖券保存,否则先关注微信公众号: 2.java环境:SS ...

  6. 微信打击违规贷款、仿冒公众号等行为 累积处罚3万多个公众号

    微信官方发文称,最近对于违规贷款服务.打卡欺诈.仿冒公众号等行为开展了专项处理,针对平台的一些其他违规行为,如违规小程序第三方服务商等,将采取多种法律途径进行处理. 在违规贷款方面,2018年1月至2 ...

  7. 微信公众号中,怎么插入代码块?(微信公众号中,代码块怎么排版?)

    微信公众号代码编辑工具 步骤1.如上图所示,我们要点击复制; 步骤2.直接ctrl+v粘贴到微信公众号的编辑框中,如下图所示: 微信公众号排版工具(135编辑器) 135编辑器是一款很好的微信公众号编 ...

  8. UNI-APP 开发微信公众号(H5)JSSDK的使用、微信扫一扫

    UNI-APP 开发微信公众号(H5)JSSDK的使用.微信扫一扫 自己做了一个h5端调起微信扫一扫的功能,上网一找,没有说得很详细的,依样画葫芦,结果出了很多问题.下面给大家讲一下做的方法,用这个方 ...

  9. 微信公众号打开的h5网页点击按钮返回公众号

    从微信公众号打开的h5网页 退出h5返回到公众号方法 closePage() {if (typeof WeixinJSBridge == "undefined") {if (doc ...

  10. 微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式(最最最优版)

    继上一篇文章微信公众号内下载pdf等文件,受微信所限制,安卓和IOS不同处理方式 后觉得还有更好的解决办法,这次真的找到更加优化版本,一定需要后台配合才行:后台接口返回Blob,后端设置respons ...

最新文章

  1. FPGA(4)晶振与计数器 -- 实现定时器(led定时闪烁、蜂鸣器频率控制(单响)、蜂鸣器报警(频带控制,多响))
  2. Docker Swarm集群搭建
  3. (37)0环与3环通信常规方式,PspTerminateProcess 关闭进程工具
  4. shiro的简单入门使用
  5. dagger2记录篇
  6. 【Android】对话框 AlertDialog
  7. 前端学习(1692):前端系列javascript之typeof
  8. Simulink之变压器漏抗对整流电路的影响
  9. mysql myflash原理_如何利用 Myflash 解析 binlog ?
  10. cpu怎么超频_性价比神器?镁光EDIE颗粒 超频实测 Intel+Amd
  11. linux 设备 总线 驱动 模型
  12. CentOS云主机安全之新增ssh登录账户、禁止ROOT登陆
  13. java修改文件后缀名_java批量修改文件后缀名方法总结
  14. 并发网站压力测试工具
  15. jQuery中的日期时间控件
  16. RS232 RS422 RS485详细介绍
  17. 2021奥维地图不能用了,有没有其他地图软件能替代?
  18. html中如何把两行合并单元格,css合并两列单元格内容
  19. Javascript之宿主环境
  20. 通俗地讲一下Web是什么意思。

热门文章

  1. 更新华为CCE域名证书方法
  2. 世界由物质、能量、信息
  3. 谷歌金融 Onebox 实现实时信息更新
  4. ios点击推送闪退_iOS 13.4 Beta 4 发布,闪退问题修复!
  5. mysql数据库设置密码
  6. BAPI_GOODSMVT_CREATE移库操作(WMS TO SAP)
  7. 领带的打法10种——男士必看(图)
  8. 关于 Anaconda 创建环境后没有名字的问题
  9. 订单系统设计 —— 数据同步与监控
  10. [GYM101173K] CERC 16 K.Key Knocking 构造