打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
php开发app接口
userphoto

2018.09.25

关注

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

1.        条件:

1)        接口地址

2)        接口文件

3)        接口数据

2.        如何通信

1)        类似BS模式

3.        客户端app通信格式区别:xmljson

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);$datautf-8编码的

2)        示例

//json生成数据封装

public static functionjson($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 functionxmlEncode($code,$message='',$data=array()){

                                   if(!is_numeric($code)){

                                          return'';

                                   }

                                   $result=array(

                                          'code'=>$code,

                                          'message'=>$message,

                                          'data'=>$data,

                                   )

                                   header('Content_Type:text/xml')

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

                                   $xml.="<root>\n";

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

                                   $xml.="</root>";

}

 

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):"<".$k.">".$v."</".$k.">"

                                   }

                                   /*<0></0>*/

                                   return$xml;

}

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

1)        示例

//综合

public static public functionshow($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错误日志接口

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
php面向对象之app接口文档
【全新官方接口】php检测微信域名拦截,检测微信域名被封
php QQ第三方登陆SDK程序代码
浅谈PHP与手机APP开发即API接口开发
Thinkphp5微信小程序获取用户信息接口调用笔记
PHP培训简述,PHP如何实现微信公众号企业转账功能?
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服