您好,登錄后才能下訂單哦!
小編給大家分享一下php如何封裝app,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
php封裝app的方法:1、創(chuàng)建json.php文件和demo.php文件;2、在php中用數(shù)組表示JSON格式數(shù)據(jù);3、將數(shù)組封閉成JSON數(shù)據(jù)即可。
本文操作環(huán)境:windows7系統(tǒng)、PHP7.4版、DELL G3電腦
使用php封裝APP接口
php封裝APP接口
我們先來(lái)介紹Json的封裝方法
json_encode函數(shù)傳遞中文的話,輸出后是亂碼的,針對(duì)這個(gè)問(wèn)題我覺(jué)得有必要做一個(gè)解釋:
其實(shí)json_encode對(duì)中文那不是亂碼,只是json_encode會(huì)將中文轉(zhuǎn)換為unicode編碼,所以輸出后是這個(gè)編碼,但不影響我們使用,我們json_decode后就是正常的值了,但如果你想在輸出json_encode的時(shí)候也是中文的話,其實(shí)有一個(gè)辦法,如下:
echo urldecode(json_encode(urlencode("JSON中文輸出解決方案")));
以下上封裝接口的Demo:
<?php //服務(wù)端 json.php //php中用數(shù)組表示JSON格式數(shù)據(jù) header("Content-type:text/html;charset=utf-8"); $arr = array( 'code' => 200, 'message' => '數(shù)據(jù)返回成功', 'data' => array( 'name' =>'bawei', 'email' =>'www.bawei@qq,com', ), ); echo json_encode($arr); //將數(shù)組封閉成JSON數(shù)據(jù) 主要函數(shù)json_encode; ?>
來(lái)看客戶端的代碼:
//客戶端 demo.php <?php header("Content-type:text/html;charset=utf-8"); $url = "http://localhost/syphp/app.php"; //URL取絕對(duì)路徑 $tranlatestr = file_get_contents($url); //獲得URL文檔 file_get_contents $bb = json_decode($tranlatestr); //將JSON數(shù)據(jù)轉(zhuǎn)換成數(shù)組 echo $bb->data->website; //取得數(shù)組內(nèi)容字段 ?>
相比較起XML封裝接口,Json的數(shù)據(jù)轉(zhuǎn)換比XML簡(jiǎn)單了許多 僅此一個(gè)函數(shù);
但是可讀性來(lái)說(shuō),XML看起來(lái)更直觀一些,而Json看起來(lái)比較亂,費(fèi)時(shí)間;
以上上Json的 下面來(lái)弄一個(gè)XML的!
方法:php生成XML數(shù)據(jù);
如何生成XML數(shù)據(jù)呢?
以下兩種方法可以實(shí)現(xiàn)--> 1.組裝成XML字符串 2.使用系統(tǒng)類 如:DomDocument、XMLWriter、SimpleXML
先直接上Demo!
<?php class Response { /** * 按xml方式輸出通信數(shù)據(jù) * @param int $code 狀態(tài)碼 * @param string $message 提示信息 * @param array $data 數(shù)據(jù) * @return void */ public static function xmlEncode($code,$message='',$data=array()) { $r = ''; if(!is_numeric($code)) $r = ''; $result = array( 'code'=>$code, 'message'=>$message, 'data'=>$data, ); header("Content-Type:text/xml"); $xml = "<?xml version='1.0' encoding='UTF-8'?>\n"; $xml .= "<root>\n"; $xml .= self::xmlToEncode($result); $xml .= "</root>"; $r = $xml; echo $r; } public static function xmlToEncode($data) { $xml = $attr = ""; foreach($data as $key=>$value) { if(is_numeric($key)) { $attr = "id='{$key}'"; $key = 'item'; } $xml .= "<{$key} {$attr}>"; $xml .= is_array($value)?self::xmlToEncode($value):$value; $xml .= "</{$key}>\n"; } return $xml; } } ?>
以上是“php如何封裝app”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。