この記事では、主に WeChat パブリック プラットフォームでの PHP memcache の適用方法を紹介し、memcache を使用してユーザーのアクセス記録を保存し、ユーザーのアクセスに応答し、困っている友達に迅速な情報を提供する PHP の対話モード実装スキルを分析します。次へ
この記事の例では、WeChat パブリック プラットフォームでの PHP memcache の適用方法について説明します。参考までに皆さんと共有してください。詳細は次のとおりです:
現在、WeChat パブリック プラットフォームでのほとんどのインタラクションは、ユーザーがメッセージを送信する -> WeChat が分析して結果を返す、このモードには比較的単一の機能があります。これは別の対話型モードです。ユーザーが情報を送信 -> WeChat が情報を分析し、次のステップを促します -> ユーザーが情報を送信 ->....-> WeChat が結果を返します。この記事では、上記のモードを実装するための sae での memcache の使用方法を紹介します。
アイデア:
1. ユーザーがメッセージを送信すると、WeChat はユーザーの一意の openid を記録し、その値を $fromUsername に割り当てます。
2. memcache を使用して 2 つのデータを保存します。1 つはユーザーが送信した最後のメッセージで、もう 1 つはユーザーのアクションを判断するためにランダムに定義された値 (例では 1) です。
3. $fromUsername をキーの配置として使用します。
サンプルコードは次のとおりです:
<?php /** * wechat php test */ //调用mecache $mc=memcache_init(); //接受消息,直接用微信官方的示例代码 $postStr = $GLOBALS["HTTP_RAW_POST_DATA"]; if (!empty($postStr)){ $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA); $fromUsername = $postObj->FromUserName; $toUsername = $postObj->ToUserName; $keyword = trim($postObj->Content); $time = time(); $textTpl = "<xml> <ToUserName><![CDATA[%s]]></ToUserName> <FromUserName><![CDATA[%s]]></FromUserName> <CreateTime>%s</CreateTime> <MsgType><![CDATA[%s]]></MsgType> <Content><![CDATA[%s]]></Content> <FuncFlag>0</FuncFlag> </xml>"; //定义变量last_step,记录上一次动作 $last_step=$mc->get($fromUsername."step"); //定义变量last_data,记录上一次数据 $last_data=$mc->get($fromUsername."data"); if(!empty( $keyword )){ //判断用户动作 if($last_step!=1){ //将用户输入的数据保存至memcache $mc->set($fromUsername."data",$keyword,0,120); //记录用户这一次动作,值设为1 $mc->set($fromUsername."step",1,0,120); $msgType = "text"; $contentStr = "请再输入一个值:"; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } else { //清空memcach动作 $mc->delete($fromUsername."step"); //清空memcach数据 $mc->delete($fromUsername."data"); $msgType = "text"; $contentStr = "你输入的第一个值为:".$last_data."\n 第二个值为:".$keyword; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr); echo $resultStr; } } } else { echo ""; } ?>
以上がWeChatパブリックプラットフォームでのPHP memcacheの適用例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。