本文整理汇总了PHP中Reply::crypt_xml方法的典型用法代码示例。如果您正苦于以下问题:PHP Reply::crypt_xml方法的具体用法?PHP Reply::crypt_xml怎么用?PHP Reply::crypt_xml使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Reply
的用法示例。
在下文中一共展示了Reply::crypt_xml方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: callback
/**
* 重载callback()
* 将微信服务器请求的数据进行解析
* 并回调控制器的接口方法
*/
public function callback()
{
$postXML = parent::callback();
empty($_GET) && die;
// 必须有附带参数
extract($_GET);
if ($this->sha1_sign($postXML->Encrypt, $timest, $nonce, $msg_signature)) {
$req = $this->crypt_extract(parent::callback());
$reply = '';
switch (strtolower($req->MsgType)) {
case 'text':
$reply = ES_controller::get_instance()->_keywords($req->Content);
break;
case 'event':
$reply = ES_controller::get_instance()->_events($req);
break;
}
empty($reply) && die;
list($method, $args) = $reply;
$args = array('to' => $req->FromUserName, 'from' => $req->ToUserName) + $args;
$reflector = new ReflectionClass('Reply');
$rMethod = $reflector->getMethod($method);
$xml = $rMethod->invokeArgs($reflector->newInstanceWithoutConstructor(), $args);
// log_msg($xml); // 未加密的消息体
$xml = $this->crypt_generate($xml);
$signature = $this->set_sha1_sign($xml, $timestamp, $nonce);
$xml = Reply::crypt_xml($xml, $signature, $timestamp, $nonce);
// log_msg($xml); // 加密后的消息体
echo $xml;
exit;
}
exit;
}