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(
'code' => 200,
'message' => '数据返回成功',
'data' => array(
'name' =>'bawei',
'email' =>'www.bawei@qq,com',
),
);
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='',$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接口的更多相关文章

  1. 《PHP开发APP接口》笔记

    PHP开发APP接口 [TOC] 课程地址 imooc PHP开发APP接口 学习要点 APP接口简介 封装通信接口方法 核心技术 APP接口实例 服务器端 -> 数据库|缓存 -> 调用 ...

  2. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [3] 首页 APP 接口开发方案 ② 读取缓存方式

    以静态缓存为例. 修改 file.php line:11 去掉 path 参数(方便),加上缓存时间参数: public function cacheData($k,$v = '',$cacheTim ...

  3. PHP开发APP接口

    第1章 APP接口简介 - 课程简介 (:) - APP接口介绍 (:) - 客户端APP通信 (:) 最近学习 - 客户端APP通信格式区别 (:) - APP接口做的哪些事儿 (:) 第2章 封装 ...

  4. 如何用php写app接口[原创]

    人生就如一列永不停止的列车,no one knows when or where to stop.总有那些美好,值得永远怀念.也总有那些希望,值得你无怨无悔的付出,追逐.去年年底带着女儿一起坐火车会湖 ...

  5. Java版本APP接口安全设计

    Java版本APP接口安全设计 安全设计分为两种: 1.传输安全. 2. 会话安全. 1.传输安全 怎么保证接口经过网络传输不被抓包获取? 1.如果只是使用对称性算法,破解APP拿到加密密钥就可以解密 ...

  6. PHP接口APP接口

    使用PHP来生成APP接口数据是非常简单的,如果你还不了解PHP没有关系,只需要看过PHP的基本语法,再看本示例就可以了. APP接口一般都是json格式(当然也有少数xml格式)遵循restful规 ...

  7. PHP开发APP接口之返回数据

    首先说明一下客户端APP通信的格式 1.xml:扩展标记语言(1.用来标记数据,定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言,xml格式统一,跨平台和语言,非常适合数据传输和通信,早已 ...

  8. PHP开发APP接口学习笔记

    习要点概述1.APP接口简介 2.封装通信接口方法 3.核心技术 4.APP接口实例 服务器和客户端进行接口数据通信:服务器 -->数据库|缓存 -->调用接口 -->客户端 服务器 ...

  9. Dcloud课程4 如何进行APP接口开发

    Dcloud课程4 如何进行APP接口开发 一.总结 一句话总结:通过json或者xml. 1.APP如何进行通信? 通过在地址上接参数指明传递的数据的类型.而数据传递的类型一般是XML和json. ...

随机推荐

  1. 初识类(class&struct)及C/C++封装的差异

    初识类(class&struct) 面向对象三大特性:封装.继承和多态.其中不得不谈的就是类,通过类创建一个对象的过程叫实例化,实例化后使用对象可以调用类成员函数和成员变量,其中类成员函数称为 ...

  2. 关于CSS3 animation 属性在ie edge浏览器中不能工作

    我想要给div边框加一个闪烁,所以我将css中设置如下 给想要闪烁的div加上blink类  这样在firefox,chrome下是正常显示的,但是在ie下box-shadow属性不能被正常的展现 后 ...

  3. ACM常用的Java代码

    import java.util.*; import java.io.*; public class Main { public static void main(String[] args) thr ...

  4. python编程:从入门到实践学习笔记

    python编程:从入门到实践学习笔记 原文地址:https://blog.csdn.net/qq_35554125/article/details/79548192 [day 1]python编程: ...

  5. yum与rpm常用选项

    rpm常用的命令组合: rpm 1.对系统中已安装软件的查询-q:查询系统已安装的软件-qa:查询系统所有已安装包-qf:查询一个已经安装的文件属于哪个软件包-ql:查询已安装软件包都安装到何处-qi ...

  6. 创建Hadoop用户

  7. (codeforces 853A)Planning 贪心

    Helen works in Metropolis airport. She is responsible for creating a departure schedule. There are n ...

  8. 百度地图JavaScript API申请密钥注意要点

    1.应用类型:浏览器端 2.启用服务:Javascript API要勾选 3.IP白名单:*即可

  9. H5C3--媒体查询(向上兼容,向下覆盖),link中引入的ont and only

    一.使用 实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  10. PHP与RBAC设计思路讲解与源码

    在说权限管理前,应该先知道权限管理要有哪些功能: (1).用户只能访问,指定的控制器,指定的方法 (2).用户可以存在于多个用户组里 (3).用户组可以选择,指定的控制器,指定的方法 (4).可以添加 ...