慕課 php 開發APP介面(一,二)

2021-07-02 07:07:59 字數 3830 閱讀 5207

#1 json 返回兩種形式的資料

"字元"              //字串

//json 鍵值物件形式

json 只返回utf8 形式的資料,如果轉化了編碼則返回 null

在練習目錄下新建response.php 檔案

<?php

$arr = array(

'id' =>1,

'name'=>'siangwa',

'title'=>"標題"

);$data = "phpstorm無法輸入中文";

$newdata = iconv('utf-8','gbk',$data);

echo $newdata;

echo json_encode($newdata);

檢視,後面的輸出為null

#返回的標準格式是 :

code : 狀態碼(200,400等)

message:提示資訊

data :返回資料

#1.封裝返回json 資料

<?php

class response

$result = array(

'code' => $code,

'massage' =>$massage,

'data'=>$data,

);echo json_encode($result);

exit;

}}

新建測試檔案 index.php

<?php

require_once('./response.php');

$arr = array(

'id'=>1,

'name'=>'singwa'

);response::json(200,'success',$arr);

#生成xml 檔案

兩種形式

1)組裝字串

2)使用系統型別

domdocument

xmlwriter

******xml

以下是組裝字串形式

#在response.php 的json 函式下面新增

public static function xml()

#在class response 類外 測試

response::xml();

#封裝xml 資料返回

返回的資料陣列有下面兩種形式

1. array('index'=>'api')

2. array(1,7,89)

而且 xml 返回的節點 key 不能為數字

/**

* @param $code

* @param $massage

* @param $data

*/public static function xmlencode($code,$massage,$data)

$result = array(

'code'=>$code,

'message'=>$massage,

'data'=>$data,

);header('content-type:text/xml');

$xml = "<?xml version='1.0' encoding='utf-8' ?>";

$xml .= "";

$xml .= self::xmltoencode($result);

$xml .= "";

echo $xml;

}public static function xmltoencode($data)'";

$key = "item";

}$xml .= "<>";

$xml .= is_array($value) ? self::xmltoencode($value) : $value;

$xml .= "";

}return $xml;

}

# 綜合封裝

const json = 'json';

/*** @param $code

* @param $massage

* @param $data

* @param string $type

*/public static function show($code,$massage,$data,$type= self::json)

$type = isset($_get['format']) ? $_get['format'] : self::json;

$result = array(

'code' => $code,

'massage' =>$massage,

'data'=>$data,

);if($type == 'json')elseif($type == 'array')elseif($type == 'xml')else

}

本節課類

class response

$type = isset($_get['format']) ? $_get['format'] : self::json;

$result = array(

'code' => $code,

'massage' =>$massage,

'data'=>$data,

);if($type == 'json')elseif($type == 'array')elseif($type == 'xml')else

}/**

* @param $code

* @param $massage

* @param $data

*/public static function json($code,$massage,$data)

$result = array(

'code' => $code,

'massage' =>$massage,

'data'=>$data,

);echo json_encode($result);

exit;

}/**

* @param $code

* @param $massage

* @param $data

*/public static function xmlencode($code,$massage,$data)

$result = array(

'code'=>$code,

'message'=>$massage,

'data'=>$data,

);header('content-type:text/xml');

$xml = "<?xml version='1.0' encoding='utf-8' ?>";

$xml .= "";

$xml .= self::xmltoencode($result);

$xml .= "";

echo $xml;

}public static function xmltoencode($data)'";

$key = "item";

}$xml .= "<>";

$xml .= is_array($value) ? self::xmltoencode($value) : $value;

$xml .= "";

}return $xml;

}}

慕課 php 開發APP介面(三)

檔案 存key value 值 value 不為空,則存,為空 則讀,為 null 則刪除 class file public function cachedata key,value path dir dirname filename if is dir dir return file put c...

php開發app介面

1 php將陣列轉換為json格式 arr array id 1,name siangwa echo json encode arr 該函式只接受utf 8的格式 結果 2 封裝通訊資料介面資料方法 code 狀態碼 200,400 等 message 提示資訊 200 成功 400 失敗 data...

php開發App介面

思路流程 如何通訊 客戶端傳送http請求 伺服器返回資料。封裝通訊介面方法 2 1 json方式封裝通訊介面 14 39 先上 response.class.php description 用於返回指定資料格式的類 param code int 返回的狀態碼 param message strin...