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接口实例分享相关推荐
- ap接口 php_php中api接口什么用
新浪短链接api申请 接口1: http://sina-t.cn/api?link=http://baidu.com 接口2: http://tttool.cn/sina_api?url=http:/ ...
- 免费手机号码归属地API查询接口和PHP使用实例分享
免费手机号码归属地API查询接口和PHP使用实例分享 最近在做全国性的行业分类信息网站,需要用到手机号归属地显示功能,于是就穿梭于各大权威站点之间偷来了API的接口地址. 分享出来,大家可以用到就拿去 ...
- InfluxData【付诸实践 01】SpringBoot 集成时序数据库 InfluxDB 应用分享(InfluxDB实例+Feign接口调用InfluxDB API)源码分享
1.InfluxDB实例 1.1 依赖及配置 <dependency><groupId>org.influxdb</groupId><artifactId&g ...
- 京东价格api,京东商品详情接口,京东api,京东优惠券接口,京东到手价api接口,京东app详情接口,接口代码对接实现价格监控接口,品牌维权接口,行业分析api接口代码分享
一.京东价格api,京东商品详情接口,京东api,京东优惠券接口,京东到手价api接口,接口代码对接实现价格监控,行业分析接口代码如下: 点击获取测试key和secret 1.接口请求参数如下: 请求 ...
- 天猫商品详情接口,天猫商品优惠券接口,天猫api接口,天猫价格监控接口,天猫比价接口,品牌维权接口,天猫销量api接口,接口代码可对接数据分析业务,品牌维权,比价业务,行业分析业务接口代码分享
一.天猫商品详情接口,天猫商品优惠券接口,天猫api接口,天猫价格监控接口,天猫比价接口,品牌维权接口,天猫销量api接口,接口代码可对接数据分析业务,品牌维权,比价业务,行业分析业务接口代码如下: ...
- Dota2数据Dota2接口电竞api开发比分网分享
Dota2数据Dota2接口电竞api开发比分网分享@TOC 数据来自marz数据alan@marzesport.com 1.获取赛事 接口:{{host1}}/api/series/9870? {& ...
- lol数据英雄联盟接口LOL接口电竞api开发比分网分享@
英雄联盟数据LOL接口电竞api开发比分网分享@TOC 数据来自marz数据alan@marzesport.com 各大赛区的lol数据都有 1.获取赛事 接口:{{host1}}/api/serie ...
- SERP调用企业微信API接口,发送文本信息实例
SERP企业轻量级ERP(SSDCRM)起源于vtigercrm早期版本.随着我们不停的迭代研发与完善,今日已经形成了自己鲜明的应用风格.我们在完善平台内部功能的基础上,积极研发平台与企业微信,钉钉, ...
- java 周易解梦接口_周公解梦大全接口 解梦api分享
周公解梦大全接口,可根据梦境中梦到的事物解梦. 接口平台:api大全 接口地址: http://v.juhe.cn/dream/query 支持格式:json/xml 请求方式:http get/po ...
最新文章
- python数据库框架_Python数据库及ORM框架对比选择
- Cororsync+Pacemaker
- linux 代码更新-打包-重启脚本
- 移动端h5开发总结不断更新中....
- Bash游戏 V2(51Nod-1067)
- 动荡下如何自救 | 社招一年收割BATDK算法offer
- HTTP从入门到入土(1)——五层网络模型
- 【转】我眼中的自动化测试框架设计要点
- 怎样用python录音_python实现录音功能(可随时停止录音)
- 各自然带代表植被_自然带气候植被关系
- YD5141SYZ后压缩式垃圾车的上装箱体设计
- typecho插件,typechoSEO插件,typecho程序插件
- KB、kb和MB、mb有什么区别
- 如何利用Pspice仿真C-V特性
- YOLOv5+TensorRT+Win11(Python版)
- 北大计算机图灵班,北大2019“图灵班”计划招60人,在北大什么条件才能进图灵班?...
- 12306极速全自动抢票
- Android studio新手:实现最新版QQ登陆界面
- 读后感----《我奋斗了18年才和你坐在一起喝咖啡》
- python弹出滑块怎么验证_selenium 处理滑块验证的重点
热门文章
- C/C++数据结构舞伴问题
- 使用VMWare虚拟机创建CentOS版本的Linux学习环境(每一步都有截图与说明)
- Kibana - KQL语法
- 利用selenium实现淘宝双十一抢购商品
- 【Elasticsearch源码】CCR源码分析(二)
- exception java .text_java.text.ParseException
- msata、mini pcie 、pcie x4接口引脚定义及原理图方案设计
- R语言中的广义线性模型(GLM)和广义相加模型(GAM):多元(平滑)回归分析保险资金投资组合信用风险敞口
- java 使用subList痛彻心扉的领悟
- 利用Java计算计算贷款的月支付金额和总偿还金额