php开发app接口

php中文网
发布: 2016-06-23 13:27:07
原创
1407人浏览过

用interface关键字定义,示例:

interface video(){

public function getVideos();

public function getCount();//这都是虚拟的方法

}

立即学习PHP免费学习笔记(深入)”;

接口的实现:【接口中给的所有方法都必须在示例中实现】

class movie implements video{

public function getVideo(){

//do something

}

立即学习PHP免费学习笔记(深入)”;

public function getCount(){

//do something

}

立即学习PHP免费学习笔记(深入)”;

}

立即学习PHP免费学习笔记(深入)”;

接口地址??返回接口数据??解析数据??客户端

APP(通信)接口:

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

2、接口文件(api.php,处理一些业务逻辑);

3、接口数据

 

APP如何进行通信:

客户端App触发??》发送http请求(接口地址)??》服务器??》返回客户端

返回的数据格式一般为xml或者json

地址被封装在app里面用户不可见,与一般的web不同

 

XML:扩展标记语言,节点可以自定义(而HTML内标签是不可自定义的),格式统一,可跨平台使用,适合通信和传输。

示例:

singwa

singwa1

beijing

XML可读性强;JSON生成数据方面、传输速度方面强。

 

接口作用:获取数据、提交数据。

 

 

 

 

 

 

封装通信接口数据方法

 

JSON方式封装通信接口:json_encode()【必须是UTF-8的形式】

示例:

$arr = {

‘id’ => 1;

‘username => Tom’

}

立即学习PHP免费学习笔记(深入)”;

echo json_encode($arr);

iconv(‘UTF-8’,’GBK’,$data)//用于进行编码转化,本例将$data由UTF-8转化为GBK

 

通信数据标准格式

1、code:200   //状态码

2、message    //提示信息

3、data       //返回数据

JSON封装数据方法示例(response.php):

class Respomse{

public static function json($code,$message = ‘’,$data = array()){

if(!is_numeric($code)){

return ‘’;//如果传过来的$code不是数字返回空

}

立即学习PHP免费学习笔记(深入)”;

$result = array(

‘code’ => $code,

‘message’ => $message,

‘data’ => $data

);

echo json_encode($result);

exit;

}

立即学习PHP免费学习笔记(深入)”;

}

立即学习PHP免费学习笔记(深入)”;

在其他文件调用这个接口:

require_once(‘./response.php’);

$arr = array(

‘id’ => 1,

‘name’ => ‘fareise’

);

Response::json(200,’数据返回成功’,’$arr’);//这样就会返回一个json数据

 

 

 

 

XML方式封装接口数据方法

 

PHP生成XML数据的方法

DeepSeek App
DeepSeek App

DeepSeek官方推出的AI对话助手App

DeepSeek App 78
查看详情 DeepSeek App

1、组装成字符串

2、使用系统类(DomDocument;XMLWriter;SimpleXML)

示例:

class Response{

public static function xml(){

header(“Content-Type:text/xml”);//将类型转化为xml的类型

$xml = “\n”

$xml.=”\n”;

$xml.=”200\n”;

$xml.=”200\n”;

......

$xml.=””;

echo $xml;

}

立即学习PHP免费学习笔记(深入)”;

}

立即学习PHP免费学习笔记(深入)”;

XML方式封装通信接口

class Response{

public static function xmlEncode($code,$message,$data){

if(!is_numeric($code)){

return ‘’;

}

立即学习PHP免费学习笔记(深入)”;

$result = array(

‘code’ => $code,

‘message’ => $message,

‘data’ => $data,

);

header(“Content-Type:text/xml”);

$xml = “

$xml .= “”;

$xml .= self::xmlToEncode($result)   //通过定义的这个方法对数据进行xm解析

$xml .= “”;

}

立即学习PHP免费学习笔记(深入)”;

publlc static function amlToEncode($data){  // 通过这样的遍历将每一条数据写成标签

$xml = $attr = “”;

foreach($data as $key => $value){//如果key是数字则转化为的形式

if(is_numeric($key)){

$attr = “id = ‘{$key}’”;

$key = “item”;

}

立即学习PHP免费学习笔记(深入)”;

$xml .= “”;

//如果是数组,采用递归的方式把数组内每一个元素都用标签输出

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

$xml .= “{key}>”

}

立即学习PHP免费学习笔记(深入)”;

}

立即学习PHP免费学习笔记(深入)”;

}

立即学习PHP免费学习笔记(深入)”;

 

调用示例:

$data = array(

‘id’ => 1,

‘name’ => fareise

‘type => array(4,5,6)’

)

Response::xmlEncode(200,’sucess’,$data);

 

 

综合通信封装方法(两种都支持)

在前两个方法都写好的基础上:

const JSON = ‘json’//设定默认值

public static function show($code,$message = ‘’,$data = array(),$type=self::JSON){

if(!is_numeric($code)){

return ‘’;

}

立即学习PHP免费学习笔记(深入)”;

$type = $_GET[‘format’]?$_GET[‘format’]:self””JSON;

$result = array(

‘code’ => $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

}

立即学习PHP免费学习笔记(深入)”;

}

立即学习PHP免费学习笔记(深入)”;


PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号