Mengapa perkara yang keluar daripada gema saya ialah %s? Daripada rentetan yang saya tetapkan?
Kod penuh:
IndexAction.class.php
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->responseMsg();
}
public function responseMsg(){
$postStr="<xml>
<ToUserName><![CDATA[toUser]]></ToUserName>
<FromUserName><![CDATA[fromUser]]></FromUserName>
<CreateTime>1348831860</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[tel]]></Content>
<MsgId>1234567890123456</MsgId>
</xml>";
$postObj = simplexml_load_string($postStr);
$fromUsername = $postObj->FromUserName;
//echo $fromUsername;
//echo '111';
$toUsername = $postObj->ToUserName;
$time = time();
$msgType = $postObj->MsgType;
$content = $postObj->Content;
if($content=='tel'){
$indexModel=new IndexModel();
$indexModel->responseText($postObj,$content);
}
}
}
IndexModel.class.php
<?php
class IndexModel extends Model{
//回复纯文本
public function responseText($postObj,$content) {
$time=time();
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$textTpl = "<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MSsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
</xml>";
echo "textTpl is: ".$textTpl;
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $content);
// echo $resultStr;
}
}
?>
Pergi ke pelayar F12 untuk melihat kod xml yang berlebihan.
Pelayar juga boleh menghuraikan XML, anda boleh melihatnya dengan melihat kod sumber halaman
Anda pada asalnya adalah tpl gema, tidak salah untuk mengeluarkan %s