真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何實現(xiàn)PHP開發(fā)APP接口

這篇文章運用簡單易懂的例子給大家介紹如何實現(xiàn)PHP開發(fā)APP接口,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)長期為成百上千客戶提供的網(wǎng)站建設(shè)服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為五原企業(yè)提供專業(yè)的網(wǎng)站設(shè)計、網(wǎng)站制作,五原網(wǎng)站改版等技術(shù)服務。擁有十載豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。

                                                           1、學習要點:

服務器端 –> 數(shù)據(jù)庫|緩存 –>調(diào)用接口 –>客戶端

2、APP接口介紹:(PHP開發(fā)APP接口)

PHP面向?qū)ο蟮慕涌冢撼橄箢?,interface定義 ==>interface.php

===>1.很規(guī)范

APP接口(通信接口):通過接口得到數(shù)據(jù),將數(shù)據(jù)填充到APP中

—>APP開發(fā)人員關(guān)注:請求APP地址(接口地址)+返回數(shù)據(jù)

APP(通信)接口定義:

1.接口地址:http://app.com/api.php?format=xml

2.接口文件:app.php處理一些業(yè)務邏輯

3.接口數(shù)據(jù)

3.客戶端APP通信:

APP是如何進行通信的:

      C   (接口地址:http://app.com/api.php?format=xml/json)     S
   客戶端APP            ------------------------------>             服務器
                      <-----------------------------                                    
                         返回數(shù)據(jù)

4.客戶端APP通信格式區(qū)別

1.xml:擴展標記語言(1.用來標記數(shù)據(jù),定義數(shù)據(jù)類型,是一種允許用戶對自己的標記語言進行定義的源語言,xml格式統(tǒng)一,跨平臺和語言,非常適合數(shù)據(jù)傳輸和通信,早已成為業(yè)界公認的標準)


    
        測試
        
        測試oen
        
深圳

2.json:一種清涼級別的數(shù)據(jù)交換格式,具有良好的可讀和便于快速編寫的特性,可在不同平臺證件進行數(shù)據(jù)交換,JSON采用兼容性很高的,完全獨立于語言文本格式。這種特性使JSON成為理想的數(shù)據(jù)交換語言。

XML的可讀性要好,JSON的生成數(shù)據(jù)性 (json_encode(數(shù)組)) 傳輸速度方面要好

5.APP接口做的那些事:

獲取數(shù)據(jù):從數(shù)據(jù)庫中或緩存中獲取數(shù)據(jù),然后通過接口數(shù)據(jù)返回客戶端

提交數(shù)據(jù):通過接口提交數(shù)據(jù)給服務器,然后通過服務器入庫處理,或者其他處理

6.JSON方式封裝通信接口

PHP生成json數(shù)據(jù):json_encode($arr);

注釋:該函數(shù)只能接受UTF-8編碼的數(shù)據(jù),如果傳遞其他格式的數(shù)據(jù)該函數(shù)會返回null

通信數(shù)據(jù)標注格式:

code 狀態(tài)碼(200 400等) 
message 提示信息(郵箱格式不正確;數(shù)據(jù)返回成功等) 
data 返回相應的數(shù)據(jù) 
—————————- 
-JSON 
code : 200 
message :”數(shù)據(jù)返回成功” 
-data 
id :1 
name : “測試”

實例:

  某個server中:
    public  function json($code,$message = '',$data = array())
    {
            if (!is_numeric($code)){
                return '錯誤';
            }
             $result = array(
                'code' => $code,
                'message' => $message,
                'data' => $data
        );
        echo json_encode($result);
        exit;
       }

某個Controller:

    public function jsonsAction()
           {
               $arr = array(
                   'id' => 1,
                   'name' => 'jiang'
              );
            $k = wei()->zhwCategory()->json(200,'成功咯',$arr);
            return $k;
            }

瀏覽器:http://127.0.0.1/admin/zhw-categorys/jsons

{"code":200,"message":"\u6210\u529f\u54af","data":{"id":1,"name":"jiang"}}

7.PHP生成XML數(shù)據(jù):

7.1PHP生成XML數(shù)據(jù)

1.組裝字符串

2.使用系統(tǒng)類:DomDocument

XMLWriter

SimpleXML

如用DomDocument:

    createElement('test','This id root element');
                     $dom->appendChild($element);
                     echo $dom->saveXML();
              ?>

====>結(jié)果:

           
           This is the root element

使用組裝字符串的簡單實例性:

    public static function xml()
            {
                  header("Content-Type:text/html");
                  $xml = "\n";
                  $xml .= "\n";
                  $xml .= "200\n";
                  $xml .= "數(shù)據(jù)返回成功\n";
                  $xml .= "\n";
                  $xml .="1\n";
                  $xml .="測試\n";
                  $xml .="\n";
                  $xml .="";
                  echo $xml;
             }
  7.2封裝XML數(shù)據(jù)方法:
          封裝方法:xmlEncode($code,$message='',$data = array());
         data數(shù)據(jù)分析:
                 1.array('index' => 'api');
                 2.array(1,7.89);
        具體:
            server模塊下:
    public function xmlEncode($code,$message = '',$data=array())
             {
                 if(!is_numeric($code)){
                    return "錯誤";
                 }
                 $result = array(
                     'code' => $code,
                     'message' => $message,
                     'data' => $data,
                 );
                 header("Content-Type:text/xml");
                 $xml = "\n";
                 $xml .= "\n";
                 $xml .=self::xmlToEncode($result);
                 $xml .="";
                 echo $xml;
             }
        //對數(shù)據(jù)再處理
    public function xmlToEncode($data){
               $xml = $attr ="";
               foreach ($data as $key=>$value){
               if(is_numeric($key)){
                   $attr = "id='{$key}'";
                   $key = "item";
               }
               $xml .= "<{$key} {$attr}>";  //它們{$key} {$attr}之間要有一個小空格
               $xml .=is_array($value) ? self::xmlToEncode($value):$value;
               $xml .="\n";
            }
               return $xml;
            }
某個Controller:
     public function xmlsAction()
        {
            $arr = array(
               'id' => 1,
               'name' => 'jiang',
               'type' =>array(4,5,6),
               'test' =>array(1,45,67=>array(1,2,3)),
            );
           $k = wei()->zhwCategory()->xmlEncode(200,'成功咯',$arr);
           return $k;
         }

8.綜合方式封裝通信數(shù)據(jù)方法:

   封裝方法:show($code,$message,$data=array(),$type='json/xml')

最終頁面:

server:

 $code,
            'message' => $message,
            'data' => $data,
        );
        if($type == 'json'){
            self::json($code,$message,$data);
            exit;
        }elseif($type == 'array'){
            var_dump($result);
        }elseif ($type == 'xml'){
            self::xmlEncode($code,$message,$data);
            exit;
        }else{
            //TODO
        }
    }
    /**
     * 按json方式輸出通信數(shù)據(jù)
     * @param integer $code 狀態(tài)碼
     * @param string $message 提示信息
     * @param array $data 數(shù)據(jù)
     * return string
     */
    public  function json($code,$message = '',$data = array())
    {
        if (!is_numeric($code)){
            return '錯誤';
        }
        $result = array(
            'code' => $code,
            'message' => $message,
            'data' => $data
        );
        echo json_encode($result);
        exit;
    }
    /**
     * 按xml方式輸出通信數(shù)據(jù)
     * @param integer $code 狀態(tài)碼
     * @param string $message 提示信息
     * @param array $data 數(shù)據(jù)
     * return string
     */
    public function xmlEncode($code,$message = '',$data=array())
    {
        if(!is_numeric($code)){
            return "錯誤";
        }
        $result = array(
            'code' => $code,
            'message' => $message,
            'data' => $data,
        );
        header("Content-Type:text/xml");
        $xml = "\n";
        $xml .= "\n";
        $xml .=self::xmlToEncode($result);
        $xml .="";
        echo $xml;
    }
    //對數(shù)據(jù)再處理
    public 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 .="\n";
        }
        return $xml;
    }
}
Controller:
public 
function jsonsAction()
    {
        $arr = array(
            'id' => 1,
            'name' => 'jiang'
        );
        $k = wei()-
>zhwCategory()->json(200,'成功咯',$arr);
        return $k;
    }
    public function xmlsAction()
    {
        $arr = array(
            
'id' => 1,
            'name' => 'jiang',
            'type' =>array(4,5,6),
            'test' =>array(1,45,67=>array(1,2,3)),
        
);
        $k = wei()->zhwCategory()->xmlEncode(200,'成功咯',$arr);
        return $k;
    }
    public function showAction()
    {
        
$arr = array(
            'id' => 1,
            'name' => 'jiang',
            'type' =>array(4,5,6),
            'test' =>array
(1,45,67=>array(1,2,3)),
        );
        $k = wei()->zhwCategory()->show(200,'成功咯',$arr,'json');
        return $k;

關(guān)于如何實現(xiàn)PHP開發(fā)APP接口就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


當前文章:如何實現(xiàn)PHP開發(fā)APP接口
分享路徑:http://weahome.cn/article/ipcegj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部