首頁 >後端開發 >PHP問題 >php封裝app的方法

php封裝app的方法

藏色散人
藏色散人原創
2021-11-30 09:53:152730瀏覽

php封裝app的方法:1、建立json.php檔案和demo.php檔案;2、在php中用陣列表示JSON格式資料;3、將陣列封閉成JSON資料即可。

php封裝app的方法

本文操作環境:windows7系統、PHP7.4版、DELL G3電腦

使用php封裝APP介面


#php封裝APP介面

我們先來介紹Json的封裝方法

json_encode函數傳遞中文的話,輸出後是亂碼的,針對這個問題我覺得有必要做一個解釋:

    其實json_encode對中文那不是亂碼,只是json_encode會將中文轉換為unicode編碼,所以輸出後是這個編碼,但不影響我們使用,我們json_decode後就是正常的值了,但如果你想在輸出json_encode的時候也是中文的話,其實有一個辦法,如下:

echo urldecode(json_encode(urlencode("JSON中文輸出解決方案")) );

以下上封裝介面的Demo:

<?php  
  
//服务端 json.php  
//php中用数组表示JSON格式数据  
header("Content-type:text/html;charset=utf-8");  
$arr = array(    
    &#39;code&#39; => 200,  
    &#39;message&#39; => &#39;数据返回成功&#39;,  
    &#39;data&#39; => array(    
        &#39;name&#39; =>&#39;bawei&#39;,    
        &#39;email&#39; =>&#39;www.bawei@qq,com&#39;,    
    ),  
);   
echo json_encode($arr); //将数组封闭成JSON数据 主要函数json_encode;  
?>

來看客戶端的程式碼:

//客户端 demo.php  
<?php  
header("Content-type:text/html;charset=utf-8");  
  $url = "http://localhost/syphp/app.php";  //URL取绝对路径   
  $tranlatestr = file_get_contents($url);  //获得URL文档 file_get_contents  
  $bb = json_decode($tranlatestr);  //将JSON数据转换成数组  
  echo $bb->data->website;    //取得数组内容字段    
?>

相比較起XML封裝接口,Json的資料轉換比XML簡單了許多僅此一個函數;

但是可讀性來說,XML看起來更直觀一些,而Json看起來比較亂,費時間;


以上上Json的  下面來弄一個XML的!

方法:php產生XML資料;

如何產生XML資料呢? 

以下兩種方法可以實現-->  1.組裝成XML字串   2.使用系統類別 如:DomDocument、XMLWriter、SimpleXML
先直接上Demo!

<?php
    class Response
    {
        
        /**
         * 按xml方式输出通信数据
         * @param int $code 状态码
         * @param string $message 提示信息
         * @param array $data 数据
         * @return void
         */
        public static function xmlEncode($code,$message=&#39;&#39;,$data=array())
        {
            $r = &#39;&#39;;
            if(!is_numeric($code)) $r = &#39;&#39;;
            $result = array(
                &#39;code&#39;=>$code,
                &#39;message&#39;=>$message,
                &#39;data&#39;=>$data,
            );
 
            header("Content-Type:text/xml");
            $xml = "<?xml version=&#39;1.0&#39; encoding=&#39;UTF-8&#39;?>\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=&#39;{$key}&#39;";
                    $key = &#39;item&#39;;
                }
                $xml .= "<{$key} {$attr}>";
                $xml .= is_array($value)?self::xmlToEncode($value):$value;
                $xml .= "</{$key}>\n";
            }
            return $xml;
        }
    }
 
?>
###推薦學習:《###PHP影片教學###》#######

以上是php封裝app的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn