如何操作Yii框架框架开发微信公众平台

  介绍

本篇内容主要讲解”如何操作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框架框架开发微信公众平台