一、app接口简介:与PHP面向对象的接口不同,是通信接口地址

1.条件:

1)接口地址

2)接口文件

3)接口数据

2.如何通信

1)类似BS模式

3.客户端app通信格式区别:xml和json

1)可读性方面:xml

2)生成数据方面:json

a)xml:

i.拼接

ii.DomDocument类

iii.XMLWriter类

iv.SimpleXML类

b)json:json_encode

3)传输速度:json

4.app接口能做哪些事

1)获取数据:从数据库|缓存中获取数据,通过接口数据返回给客户端

2)提交数据:通过接口提交数据给服务器,服务器入库处理,或者其他处理

二、封装通信接口方法

1.服务器端->数据库|缓存->调用接口->客户端

2.通信数据标准格式

1)code

2)message

3)data

3.json方式封装接口数据:

1)jeson_encode($data);$data为utf-8编码的

2)示例

//json生成数据封装

public static function

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

if(!is_numeric($code)){

return '';

}

$result=array(

'code'=>$code,

'message'=>$message,

'data'=>$data,

)

return json_encode($result);

}

4.xml方式封装接口数据:

1)示例

// xml

public static function

xmlEncode($code,$message='',$data=array()){

if(!is_numeric($code)){

return

'';

}

$result=array(

'code'=>$code,

'message'=>$message,

'data'=>$data,

)

header('Content_Type:text/xml')

$xml="<?xml

version='1.0' encoding='UTF-8'>\n";

$xml.="\n";

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

$xml.="";

}

public static function xmlToEncode($data){

$xml=''

foreach

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

if(is_numeric($k)){

$attr='id="'.$k.'"';

$k='item';

}

$xml.=is_array($v)?self::xmlToEncode($v):"".$v."".$k.">"

}

/*<0>0>*/

return

$xml;

}

5.综合方式封装通信数据方法:

1)示例

//综合

public static public function

show($code,$message='',$data=array())

{

$type=$_GET['format']?$_GET['format']:'json'

if(!is_numeric($code)){

return

'';

}

$result=array(

'code'=>$code,

'message'=>$message,

'data'=>$data,

)

if($type=='json'){

self::json($code,$message,$data)

exit;

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

self::xmlToEncode($code,$message,$data);

exit;

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

//用来调试

var_dump($result);

}else{

//后续补充

}

}

三、核心技术

1.缓存技术

1)静态缓存:PHP写入文件

a)生成缓存

b)获取缓存

c)删除缓存

2)memcache缓存

a)php操作memcache

i.connect(),set(),get(),del(),

3)redis缓存

a)set,get,setex(带过期时间),del

b)php操作redis:phpredis

i.connect(),set(),get(),del()

2.定时任务

1)定时任务命令

a)crontab

i.内容说明:

1.分

小时 日 月 星期 命令(执行文件)

2.*代表取值范围内的数字,/代表每分钟|小时....

ii.crontab -e

1.编辑某用户cron服务

iii.crontab -l

1.列出某用户cron服务

iv.crontab -r

1.删除某用户cron服务

四、app接口实例

1.单例模式链接数据库

1)单例:一个类只有一个实例

a)三大规则

i.构造函数需要标记为非public.单例类不能再其他类中实例化,只能被自身实例化

ii.拥有一个保存类的实例的静态变量成员$_instance

iii.拥有一个访问这个实例的公共的静态方法

2.首页接口开发及客户端app演示

1)方案:

a)读取数据库方式:时效性比较高

b)读取缓存方式:减少数据库压力

c)定时读取缓存方式:

3.app版本升级以及app演示

1)check

4.app错误日志接口

php 面向接口,php开发app接口相关推荐

  1. php redis 接口,PHP 开发 APP 接口 --Redis篇(示例代码)

    ① 开启 redis 服务: [[email protected] bin]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis ...

  2. appcontroller.php,php用什么开发app接口

    可以使用 REST模式 来开发 App 接口,首先建立一个公共控制器,再建其他控制器继承它即可. 确定好返回的数据内容格式及信息码: (推荐学习:PHP视频教程)<?php // App接口公共 ...

  3. PHP开发APP接口(二)

    这里将会调用前面博客的数据库连接单例.文件缓存类和开发APP接口(一) [php] view plain copy  print? <?php // http://app.com/list.ph ...

  4. php开发APP接口 接收客户端的图片

    php开发APP接口 接收客户端的图片 header( "Content-Type: image/jpeg" ); $filename = time(). '.png' ; $st ...

  5. php app接口开发,「PHP开发APP接口实战005」基础示例接口的实现一

    前一章,我们对接口参数基本定义做了一个简要说明.里面提到了几个示例接口,接下来,我们就来讲解这个几点个示例接口的具体实现. 「PHP开发APP接口实战004」基础响应参数说明 前言 由于我们的接口返回 ...

  6. php app接口id参数类型过滤,PHP开发APP接口---返回数据的封装类

    /** * app返回数据类 * 1.接受多维,缺少键名的数组, * 2.可由输入的format参数决定返回数据格式 * 例子:Response::show(200, 'success', $data ...

  7. PHP开发APP接口全过程(一)

    1.学习要点: 服务器端 –> 数据库|缓存 –>调用接口 –>客户端 2.APP接口介绍:(PHP开发APP接口) PHP面向对象的接口:抽象类,interface定义 ==> ...

  8. php开发APP接口(一)

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

  9. php接口调用实例源代码,小蚂蚁学习APP接口开发(7)—— APP接口实例——读取缓存方式开发APP接口的代码案例...

    从数据库中直接读取数据,虽然时效性很强,但是对数据库造成很大压力,尤其是在高访问量的情况下.这时候可以通过缓存,来有效的缓解了这一压力,虽然时效性有些不足,但是服务器的抗压能力却达到了很大的提高. 读 ...

最新文章

  1. _Linux和安卓之间可以传输文件吗?
  2. Linux下安装配置EasyPR中文车牌识别系统
  3. 计算机网络实验(华为eNSP模拟器)——第五章 单臂路由
  4. 分布式队列编程优化篇
  5. 针对 xml 数据类型的 XQuery (摘自SQL Server 2005 联机丛书)
  6. 使用 snapseed p 图,图片局部黑白,简单实用!!
  7. 如何将webp格式转换成png?
  8. 找老域名有没有什么好方法?
  9. 数学表达式基础——2 集合、向量与矩阵
  10. 惠普微型计算机主机拆卸,HP 惠普 Pavilion Wave 台式主机 拆机
  11. 实现163邮箱发送邮件功能
  12. B/S结构和C/S结构详细介绍
  13. 帝国理工创新领袖:数据驱动创新的五种模式
  14. 番外篇:STM32之GPIO口速率配置究竟代表什么
  15. MOS管及其外围电路设计
  16. Linux驱动开发-编写RFID-RC522射频刷卡模块驱动
  17. matlab fir stm32,求一个完整的STM32运算FIR滤波程序
  18. 电缆载流量试验方法 电线电缆载流量试验机
  19. python制作合同模板带图片_Python操作Word批量生成合同的实现示例
  20. 浅谈数据仓库维度建模

热门文章

  1. SAP License:最近收到的信(审计人员关于成本问题的请教)
  2. week one(1)—What is machine learning?
  3. 致敬!这些老外的开源技术养活了一票国产软件
  4. 《黑马程序员》 block的使用(Objective - c语法)
  5. Oracle 10g 用户数及价格
  6. FinTech领域的风险控制——策略篇
  7. js+springMVC 提交数组数据到后台
  8. hadoop1 hadoop2 fair-schduler 配置和使用
  9. pyglet -- 视频播放器 (简单实现,效果不是太好,切换资源会卡死)(三)
  10. .net程序部署(setupFactory进阶)