介绍
本篇内容主要讲解”如何操作Yii框架框架开发微信公众平台”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习”如何操作Yii框架框架开发微信公众平台”吧!
1。先到微信公众平台注册帐号
2。下载演示
微信公众平台提供了一个十分“朴素”的演示,说明如何调用消息接口的。代码真的很朴素,具体内容可到官网下载。
3。按照Yii的规则,做一个扩展。
这里命名为weixin,目录结构如下:
?扩展/
引用>
,,,,,吗?weixin/
,,,,,,,,,Weixin.php *Weixin。php代码内容:
& lt; php ? ,/* * ,* WeixinCallback *大敌; ,* @package ,* @version id美元美元 ,* @copyright 1997 - 2005,从而PHP 组 ,* @author davidhhuan@126.com ,* {@link & lt; a https://www.yisu.com/zixun/href=" http://www.sharefamily.net " rel=巴獠縩ofollow”目标="平等"> http://www.sharefamily.net >} */类Weixin {//$ _GET参数 公共美元签名; 公共美元时间戳; 公共nonce美元; 公共echostr美元;//公共美元令牌; 公共美元debug=false; 公共数组$味精=(); 公共setFlag美元=false;/* * * __construct * * @param混合参数 * @ access公共 * @return无效 */公共函数__construct (params)美元 { foreach (params k1美元=> v1)美元 { 如果(property_exists ($, $ k1)) { $ this -> k1 v1=$美元; } } }/* * *有效 * * @ access公共 * @return无效 */公共职能有效() {//有效签名,选项 如果($ this -> checkSignature ()) { echo $ this -> echostr; Yii::应用()-> (); } }/* * *获得用户发过来的消息(消息内容和消息类型) * * @ access公共 * @return无效 */公共init()函数 { (postStr=空美元全局[" HTTP_RAW_POST_DATA "]) ?”:$ GLOBALS (“HTTP_RAW_POST_DATA”); if ($ this ->调试) { $ this ->日志($ postStr); } 如果(!空(postStr美元)){ $ this ->味精=simplexml_load_string ($ postStr的SimpleXMLElement LIBXML_NOCDATA); } }/* * * makeEvent * * @ access公共 * @return无效 */公共函数makeEvent () { }/* * *回复文本消息 * 美元* @param字符串文本 * @ access公共 * @return无效 */公共函数makeText($文本=") { $ createTime=时间(); $ funcFlag=$ this -> setFlag吗?1:0; 美元textTpl=" xml>味精-> FromUserName}]]> 味精-> ToUserName}]]> {$ CreateTime} <内容> 内容> % s ”; 返回sprintf (textTpl,文本,美元funcFlag美元); }/* * *根据数组参数回复图文消息 * * @param数组newsData美元 * @ access公共 * @return无效 */公共函数makeNews ($ newsData=数组()) { $ createTime=时间(); $ funcFlag=$ this -> setFlag吗?1:0; 美元newTplHeader=" xml>味精-> FromUserName}]]> 味精-> ToUserName}]]> {$ CreateTime} % s <>的文章”; 美元newTplItem=" <项目> <标题> 名称> <描述> 描述>商品>”; 美元newTplFoot="> 文章 % s ”; 美元内容="; $ itemsCount=count ($ newsData['物品']);//微信公众平台图文回复的消息一次最多10条 itemsCount=美元itemsCount <10 ?美元itemsCount: 10; 如果(itemsCount美元){ foreach (newsData美元(“项目”)键=>项美元){ 如果($键<=9){ 内容。美元=sprintf (newTplItem美元,美元项目(“标题”),美元项目(“描述”),$ item [' picurl '],美元项目(“url”)); } } } 头=美元sprintf (newTplHeader, itemsCount美元); 页脚=美元sprintf (newTplFoot, funcFlag美元); 返回头美元。美元的内容。页脚美元; }/* * *回复 * * @param混合元数据 * @ access公共 * @return无效 */公共函数回复(元数据) { if ($ this ->调试) { $ this ->日志(元数据); } 美元回波数据; }/* * * checkSignature * * @ access私人 * @return无效 */私人checkSignature()函数 { $ tmpArr=阵列($ this ->标记,$ this ->时间戳,$ this -> nonce); 排序($ tmpArr); $ tmpStr=内爆($ tmpArr); (tmpStr=sha1美元tmpStr); if ($ tmpStr==$ this ->签名){ 返回true; 其他}{ 返回错误; } }/* * *日志 * * @ access私人 * @return无效 */供私人使用日志(日志) { if ($ this ->调试) { Yii写入::getPathOfAlias(“应用程序”)。/运行/weixin_log。txt”, var_export(美元的日志,真的)。“\ n \ r”, FILE_APPEND); } } }如何操作Yii框架框架开发微信公众平台