想进行微信开发,是不是面对后台逻辑的组织和五花八门的微信API无从下手?小编建议将TinkPHP和LaneWeChat框架结合起来进行微信开发。
ThinkPHP是一个快速、简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,自2006年诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用和API开发提供了强有力的支持。
其官 方提供的默认应用的实际目录结构和说明如下:
├─application 应用目录(可设置)│ ├─index 模块目录(可更改)│ │ ├─config.php 模块配置文件│ │ ├─common.php 模块公共文件│ │ ├─controller 控制器目录│ │ ├─model 模型目录│ │ └─view 视图目录│ ││ ├─command.php 命令行工具配置文件│ ├─common.php 应用公共文件│ ├─config.php 应用配置文件│ ├─tags.php 应用行为扩展定义文件│ ├─database.php 数据库配置文件│ └─route.php 路由配置文件
ThinkPHP的主要作用就是为我们提供单一入口模式访问应用,对应用的所有请求都定向到应用的入口文件,系统会从URL参数中解析当前请求的模块、控制器和操作,下面是一个标准的URL访问格式:
h ttp:// your domain Name/index.php/模块/控制器/操作
其中index.php就称之为应用的入口文件(注意入口文件可以被隐藏),上面的URL会由route.php等路由到相应的模块/控制器/操作(方法)上,对于组织WEB端程序很有帮助。
同时,ThinkPHP也采用MVC模式解释/加载文件,这样我们在编辑WEB端程序时完全可以按照控制器(Controller)、模型(Model)、视图(View)来分开编写,高效并易于迭代。
框架简介:这是一个为快速开发微信应用而生的PHP框架。将微信的开发者功能根据文档进行了封装。为了快速开发的目的,开发者完全不需要要知道具体是如何实现的,只需要简单的调用方法即可。微信框架LaneWeChat,经过中国联通、奇虎360等多家公司使用的微信PHP框架,轻量、高效。完美的封装了PHP微信开发的功能点,只需要调用封装好的函数,5分钟上手,10分钟精通PHP微信开发。LaneWeChat微信开发框架为全国大中小企业提供了接入微信的好机会。
微信框架LaneWeChat完美的封装了PHP微信开发的功能点,只需要调用封装好的函数即可。
如何安装:1、本框架以代码包的插件形式放在项目的目录中即可。调用时只需要include 'lanewechat/lanewechat.php'即可。如:
为什么可进行上述第4、第6步进行安装,主要是为了微信公众号后台服务器配置时要填URL为http://你的域名/wechat.php,配置时微信服务器会向我们的服务器发送$echostr进行验证,一旦验证通过就配置成功,以后就不用再进行验证了。所以要这样操作,这里附上LaneWeChat部分代码你就明白了。
文件:LaneWeChat/wechat.php
LaneWeChat框架的运用很简单易用,调用各种类及其方法即可,下面以应答用户消息为例说明一下它的调用方法。
1、被动给用户发送消息
1、类简介:用户输入文本、图片、语音、音乐、视频等消息,以及关注、取消关注,上报地理位置等事件后,服务器被动给出应答。
2、使用命名空间:use LaneWeChat\Core\ResponsePassive;
3、参数: $fromusername = "谁发给你的?(用户的openId)" 在变量$request['fromusername']中
$tousername = "你的公众号Id"; 在变量$require['tousername']中
$mediaId = "通过上传多媒体文件,得到的id。";
4、发送文本
ResponsePassive::text($fromusername, $tousername, '文本消息内容');
5、发送图片
ResponsePassive::image($fromusername, $tousername, $mediaId);
6、发送语音
ResponsePassive::voice($fromusername, $tousername, $mediaId);
7、发送视频
ResponsePassive::video($fromusername, $tousername, $mediaId, '视频标题', '视频描述');
8、发送音乐
ResponsePassive::music($fromusername, $tousername, '音乐标题', '音乐描述', '音乐链接', '高质量音乐链接,WIFI环境优先使用该链接播放音乐', '缩略图的媒体id,通过上传多媒体文件,得到的id');
9、发送图文
1)创建图文消息内容
$tuwenList = array();
$tuwenList[] = array('title'=>'标题1', 'description'=>'描述1', 'pic_url'=>'图片URL1', 'url'=>'点击跳转URL1');
$tuwenList[] = array('title'=>'标题2', 'description'=>'描述2', 'pic_url'=>'图片URL2', 'url'=>'点击跳转URL2');
2)构建图文消息格式
$itemList = array();
foreach($tuwenList as $tuwen){
$itemList[] = ResponsePassive::newsItem($tuwen['title'], $tuwen['description'], $tuwen['pic_url'], $tuwen['url']);
}
3)发送图文消息
ResponsePassive::news($fromusername, $tousername, $itemList);
主动给用户发送消息也类似,只不过类名称变成了ResponseInitiative ,调用方式为:
发送文本内容 ResponseInitiative::text($tousername, '文本消息内容');
2、用户及用户组管理
1、类简介:获取粉丝列表,创建\修改用户组,讲用户添加\移除到用户组。
2、使用命名空间:use LaneWeChat\Core\UserManage;
3、参数 $openId = '用户和微信公众号的唯一ID'; 在变量$require['openid']中
$mediaId = "通过上传多媒体文件,得到的id。";
$groupId = '分组ID'; 在添加新分组、获取分组列表的时候可以得到
4、分组管理 - 创建分组
UserManage::createGroup('分组名');
5、分组管理 - 获取分组列表
UserManage::getGroupList();
6、分组管理 - 查询用户所在分组
UserManage::getGroupByOpenId($openId);
7、分组管理 - 修改分组名
UserManage::editGroupName($groupId, '新的组名');
8、分组管理 - 移动用户分组
UserManage::editUserGroup($openId, $groupId);
9、用户管理 - 获取用户基本信息
UserManage::getUserInfo($openId);
10、用户管理 - 获取关注者列表
UserManage::getFansList($next_openId='');
11、用户管理 - 获取网络状态
UserManage::getNetworkState();
12、设置备注名 开发者可以通过该接口对指定用户设置备注名,该接口暂时开放给微信认证的服务号。
UserManage::setRemark($openId, $remark);
$openId:用户的openId
$remark:新的昵称
有了上面的样例和逻辑,其它的应用你只要参考框架说明文档就很容易明白了,是不是很方便啊?