PHP开发应用以XML和JSON格式封装数据接口的工作示例
当我们使用PHP开发应用程序的后端接口时,需要返回数据。最常用的数据是XML和JSON格式的数据。如何恢复呢?
1.JSON
json 数据最容易创建。只需使用 PHP 自带的 json_encode() 函数即可轻松生成 json 数据
2.XML
xml 数据稍微复杂一些。我们来看看xml数据的格式。
![]()
那么它是如何建造的呢?
3。制作生产接口数据类
<?php
//定义生成接口数据类
class Api
{
/*
* 生成json数据格式
* @param integer $code 状态码
* @param string $message 提示信息
* $param array $data 数据
* return string
*/
public static function json($code, $message = '', $data = array())
{
//如果状态码不是数字就返回空
if(!is_numeric($code)) {
return '';
}
//构造返回数据
$result = array(
'code' = > $code,
'message' => $message,
'data' => $data
);
return json_encode($result);
}
/*
* 生成xml数据格式
* @param integer $code 状态码
* @param string $message 提示信息
* @param array $data 数据
* return string
*/
public static function xml($code, $message = '', $data = array())
{
if(!is_numeric($code)) {
return '';
}
$result = array(
'code' => $code,
'message' => $message,
'data' => $data
);
//构造xml数据
//使返回的数据以xml格式显示
header("Content-Type:text/xml");
//开始拼xml数据
$xml = "<?xml version='1.0' encoding='UTF-8'?>";
//根节点
$xml .= "<root>";
//创建一个额外函数来构造
$xml .= self::xmlToEncode($result);
$xml .= "</root>";
return $xml;
}
//构造xml数据函数
public static function xmlToEncode($data)
{
$xml = "";
$attr = "";
foreach($data as $key => $value)
{
//如果传递的数组是没有键值的话,<0>,<1>这种类型的节点是不合法的,所有就要判断了,如果是数字就这样<item id='0'>显示
if(is_numeric($key)) {
$attr = "id = '{$key}'";
$key = "item";
}
//如果是数字就加上$attr
$xml .= "<{$key}{$attr}>";
//如果value是数组就进行递归
$xml .= is_array($value) ? self::xmlToEncode($value) : $value;
$xml .= "</{$key}>";
}
return $xml;
}
}
//下面就来测试一下吧
$data = array(
'id' => 1,
'name' => 'zjp',
'content' => array(
'sex' => '男',
'age' => '24',
'num' => array(1,3,5,7,9)
)
);
$xml = Api::xml(200, "返回数据成功", $data);
$json = Api::json(200, "返回数据成功", $data);
?>
xml格式数据:上面张介绍 xml格式
json格式数据:
![]()
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网