失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > api接口 php_PHP关于API接口实例分享

api接口 php_PHP关于API接口实例分享

时间:2023-08-20 15:43:42

相关推荐

api接口 php_PHP关于API接口实例分享

API就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API 而使操作系统去执行应用程序的命令(动作)。本文主要和大家分享PHP关于API接口实例,希望能帮助到大家。

PHP生成JSON数据

json_encode($value) 方法

(response.php和testapi.php)

通信标准格式:

code 状态码 message 提示信息 data返回数据

json如何封装通信数据方法

Response类<?php

classResponse{

/**

*按json方式输出通信数据

*@param integer $code 状态码

*@param string $message 提示信息

*@param array $data 数据

*return string

*/

publicstaticfunction json($code,$message='',$data=array()){

if(!is_numeric($code)){

return'';

}

$result=array(

'code'=>$code,

'message'=>$message,

'data'=>$data

);

echo json_encode($result);

exit;

}

}

实例使用<?php

require_once('./apitest.php');

$arr=array(

'id'=>1,

'name'=>'huwei',

);

Response::json(200,'数据返回成功',$arr);

PHP生成XML数据

1.组装字符串

2.使用系统类

DomDocument

XMLWriter

SimpleXML

封装XML通信接口

封装方法/**

*按XML方式输出通信数据

*@param integer $code 状态码

*@param string $message 提示信息

*@param array $data 数据

*return string

*/

publicstaticfunction xml($code,$message='',$data=array()){

if(!is_numeric($code)){

return'';

}

$result=array(

'code'=>$code,

'message'=>$message,

'data'=>$data

);

header("Content-Type:text/xml");//将头信息转换为XML格式

$xml="<?xml version='1.0' encoding='UTF-8'?>\n";

$xml.="\n";

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

$xml.="";

return $xml;

}

publicstaticfunction xmlToEncode($data){

$xml=$attr="";

foreach($data as $k=>$v){

if(is_numeric($k)){

$attr=" id='{$k}'";

$k="item";

}

$xml.="";

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

$xml.="{$k}>";

}

return $xml;

}

实现:

require_once('./apitest.php');

$arr=array(

'id'=>1,

'name'=>'huwei',

'type'=>array(1,2,3)

);

//echo Response::json(200,'数据返回成功',$arr);

echo Response::xml(200,'数据返回成功',$arr);

综合通信方法封装

封装方法

const JSON="json";

/**

*按综合方式输出通信数据

*@param integer $code 状态码

*@param string $message 提示信息

*@param array $data 数据

*@param string $type 类型

*return string

*/

publicstaticfunction show($code,$message='',$data=array(),$type==self::JSON){

if(!is_numeric($code)){

return'';

}

$result=array(

'code'=>$code,

'message'=>$message,

'data'=>$data,

);

if($type=='json'){

returnself::json($code,$message,$data);

}elseif($type=='array'){

var_dump($result);

}elseif($type=='xml'){

returnself::xml($code,$message,$data);

}else{

//TODO

}

}

调用方式:

require_once('./apitest.php');

$arr=array(

'id'=>1,

'name'=>'huwei',

'type'=>array(1,2,3)

);

//echo Response::json(200,'数据返回成功',$arr);

//echo Response::xml(200,'数据返回成功',$arr);

echo Response::show(200,'数据返回成功',$arr,'array');

缓存技术:

1.静态缓存

保存在磁盘上的静态文件,用PHP生成的数据放入静态缓存文件中

PHP操作缓存(file.php)

生成缓存、获取缓存、删除缓存

封装类<?php

classFile{

private $_dir;// 文件路径

const EXT='.txt';//文件后缀

publicfunction __construct(){

$this->_dir=dirname(__FILE__).'\files\/';//获取该项目同级目录

}

publicfunction cacheData($key,$value='',$path=''){

$filename=$this->_dir.$path.$key.self::EXT;

if($value!==''){//将value值写入缓存

if(is_null($value)){

return@unlink($filename);

}

$dir=dirname($filename);

if(!is_dir($dir)){

mkdir($dir,0777);

}

return file_put_contents($filename,json_encode($value));//若成功返回字节数,不然为false

}

if(!is_file($filename)){

returnFalse;

}else{

return json_decode(file_get_contents($filename),true);

}

}

}

调用类

//require_once('./apitest.php');

require_once('./file.php');

$arr=array(

'id'=>1,

'name'=>'huwei',

'type'=>array(1,2,3)

);

//echo Response::json(200,'数据返回成功',$arr);

//echo Response::xml(200,'数据返回成功',$arr);

//echo Response::show(200,'数据返回成功',$arr,'array');

$file=newFile();

//echo $file->cacheData('index_cache',$arr); //写入操作

//var_dump($file->cacheData('index_cache')); //读取操作

echo $file->cacheData('index_cache',null);//删除操作

2.Memcache,redis

设置缓存操作

获取缓存操作

删除缓存操作

1.Memcache和Redis都是用来管理数据的

2.他们数据都是存放在内存上的

3.Redis可以定期将数据备份到磁盘(持久化)

4.Memchache只是简单的key/value缓存

5.Redis不仅仅支持简单的k/v类型的数据,同时还提供list、set、hash等数据结构的存储

如果觉得《api接口 php_PHP关于API接口实例分享》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。