Heim  >  Artikel  >  Backend-Entwicklung  >  Detailliertes Beispiel für die Verwendung von Memcache in PHP auf der öffentlichen WeChat-Plattform

Detailliertes Beispiel für die Verwendung von Memcache in PHP auf der öffentlichen WeChat-Plattform

黄舟
黄舟Original
2017-09-14 09:10:401036Durchsuche

Dieser Artikel stellt hauptsächlich die Anwendungsmethode von PHP Memcache auf der öffentlichen WeChat-Plattform vor und analysiert anhand spezifischer Beispiele die interaktiven Implementierungsfähigkeiten von PHP mithilfe von Memcache, um Benutzerzugriffsdatensätze zu speichern und auf Benutzerzugriffe zu reagieren in Bedarf Sie können auf Folgendes verweisen

Dieser Artikel beschreibt die Anwendungsmethode von PHP Memcache auf der öffentlichen WeChat-Plattform. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Heutzutage sind die meisten Interaktionen auf der öffentlichen WeChat-Plattform Benutzer, die Nachrichten senden -> WeChat analysiert die Ergebnisse und gibt sie zurück. Dieser Modus hat eine relativ einzige Funktion. Hier ist ein weiterer interaktiver Modus: Der Benutzer sendet Informationen –> WeChat analysiert die Informationen und fordert zum nächsten Schritt auf –> der Benutzer sendet Informationen –>....-> WeChat gibt die Ergebnisse zurück. In diesem Artikel wird die Verwendung von Memcache in Sae zur Implementierung des oben genannten Modus vorgestellt.

Idee:

1. Wenn der Benutzer eine Nachricht sendet, zeichnet WeChat die eindeutige Öffnungs-ID des Benutzers auf und weist ihren Wert $fromUsername zu.

2. Verwenden Sie Memcache, um zwei Daten zu speichern, eines ist die vom letzten Benutzer gesendete Nachricht und das andere ist ein zufällig definierter Wert (1 im Beispiel) zur Beurteilung von Benutzeraktionen.

3. Verwenden Sie $fromUsername als Schlüsselpositionierung.

Der Beispielcode lautet wie folgt:


<?php
/**
 * wechat php test
 */
//调用mecache
$mc=memcache_init();
//接受消息,直接用微信官方的示例代码
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
   if (!empty($postStr)){
   $postObj = simplexml_load_string($postStr, &#39;SimpleXMLElement&#39;, 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 "";
  }
?>

Das obige ist der detaillierte Inhalt vonDetailliertes Beispiel für die Verwendung von Memcache in PHP auf der öffentlichen WeChat-Plattform. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn