溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

php如何封裝app

發(fā)布時(shí)間:2021-11-30 10:02:19 來(lái)源:億速云 閱讀:218 作者:小新 欄目:編程語(yǔ)言

小編給大家分享一下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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI