获取用户发送的消息内容
Wx.php
<?php
namespace wechat;
class Wx{
protected $config=[];
protected $message;
public function __construct(array $config){
$this->config=$config;
$this->message=$this->parsePostRequestData();
}
public function show(){
echo 'wx';
}
//与微信服务器进行绑定
public function valid(){
$signature=$_GET["signature"];
$timestamp=$_GET["timestamp"];
$nonce=$_GET['nonce'];
//$token='developer';
$token=$this->config['token'];
$tmpArr=array($token,$timestamp,$nonce);
sort($tmpArr,SORT_STRING);
$tmpStr=implode($tmpArr);
$tmpStr=sha1($tmpStr);
if($tmpStr==$signature){
echo $_GET['echoStr'];
}
}
//获取并解析用户发来的消息内容
private function parsePostRequestData(){
if(isset($_GLOBALS['HTTP_RAW_POST_DATA'])){
//simplexml_load_string - 将XML字符串解释为对象
return simplexml_load_string($_GLOBALS['HTTP_RAW_POST_DATA'],'SimpleXMLElement',LIBXML_NOCDATA); // 将 CDATA 设置为文本节点
}
}
//获取粉丝发来的消息内容
public function getMessage(){
return $this->message;
}
}
Entry.php
<?php
//业务代码,为了测试微信sdk的功能
namespace app;
use wechat\Wx;
class Entry{
protected $wx;
public function __construct(){
$config=[
'token'=>'developer'
];
$this->wx=new Wx($config);
$this->wx->valid();
}
public function handler(){
//echo 'handler';
//(new Wx())->show();
$content=$this->wx->getMessage();
file_put_contents('q.php',var_export($content,true));
}
}
SimpleXMLElement::__set_state(array(
'ToUserName'=>'gh_17962820bb47',
'FromUserName'=>'odnoLwrZfu6WwdGhzoHYMhz-L8rc',
'CreateTime'=>'1478718634',
'MsgType'=>'text',
'Content'=>'gghhh',
'MsgId'=>'6351048173485048275'
))