加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

ThinkPHP 整合官方企业号加密的坑1

发布时间:2020-12-15 00:19:26 所属栏目:C语言 来源:网络整理
导读:ThinkPHP 使用企业号官方接口例子进行验证 最近在做企业号企业会话回调的接口,接入到Thinkphp每次都报各种各样的错误,但是抛开Thinkphp用PHP原生代码就不会出现问题,在网上搜索了很多也没人提出这样的问题。后来自己不断的调试发现是因为在PHP5.3之前构造

ThinkPHP 使用企业号官方接口例子进行验证

最近在做企业号企业会话回调的接口,接入到Thinkphp每次都报各种各样的错误,但是抛开Thinkphp用PHP原生代码就不会出现问题,在网上搜索了很多也没人提出这样的问题。后来自己不断的调试发现是因为在PHP5.3之前构造函数的写法和PHP5.3之后有变化,构造函数不能再以类名当作函数名来命名,必须要使用__construct声明一个构造函数,也就是说用官方的例子来整合是肯定会报错的,当然前提是你用的也是PHP5.3之后的版本。

我的做法

以Thinkphp3.2.3为例

  1. 下载官方的处理接口的范例,放在Thinkphp>Library>Wechat目录下

  2. 修改WXBizMsgCrypt.php为WXBizMsgCrypt.class.php

  3. 在WXBizMsgCrypt中声明命名空间namespace Wechat;

  4. 修改WXBizMsgCrypt文件中WXBizMsgCrypt函数名,改为__construct

  5. 修改pkcs7Encoder文件中pkcs7Encoder函数名,改为__construct

  6. 在你需要的控制器中引入类use WechatWXBizMsgCrypt;

  7. 实例化的时候需要修改一下new后面的路径比如 $wxcpt = new WechatWXBizMsgCrypt($token,$encodingAesKey,$corpId);加上Wechat的类路径

大功告成,可能不适用于低版本的Thinkphp 或者php5.3以下,我没做过其他版本的测试

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读