php封装app的方法:1、创建json.php文件和demo.php文件;2、在php中用数组表示JSON格式数据;3、将数组封闭成JSON数据即可。
php入门到就业线上直播课:进入学习
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
本文操作环境: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('code' => 200,'message' => '数据返回成功','data' => array('name' =>'bawei','email' =>'www.bawei@qq,com',),); echo json_encode($arr); //将数组封闭成JSON数据 主要函数json_encode;?>
登录后复制
来看客户端的代码:
//客户端 demo.php<?phpheader("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!
<?phpclass 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视频教程》
以上就是php封装app的方法的详细内容,更多请关注php中文网其它相关文章!