0

0

php在app开发中的应用详解

黄舟

黄舟

发布时间:2017-03-18 10:14:33

|

1968人浏览过

|

来源于php中文网

原创

php作为服务端的开发语言在app开发中扮演着连接客户端和数据库的角色,客户端通过调用由php开发的接口完成对数据库的操作,php代码中实现用户业务逻辑的部分。客户端需要传递一些参数给服务端php,这些参数的格式由客户端开发人员和服务端开发人员共同协商制定,两者遵循同一套标准,使得双方之间传递的数据能够被正确解析。在实际开发中json格式的数据被广泛用于客户端和服务端数据的交互,几乎每种语言都支持json数据的解析,在php中使用json_encode()和json_decode()便可,非常便捷。

在php为app开发接口中需要注意以下几点:

1、数据传输建议使用json,json具有很强的跨平台性,大多编程语言都支持json解析,json正在逐步取代xml,成为网络数据的通用格式。

2、为了保证接口安全,一定要加入鉴权体系,确保请求php接口的是合法来源。另外对于传输的数据也可以使用加密技术,本书第20章有讲述关于api接口签名和信息加密的内容。

3、对于线上的API,尽量使用error_reporting(0)关闭错误提示,或者把错误提示写入到日志中,方便日后排查。这样做的目的,一方面可以保护接口安全,防止输出不该打印的错误信息,另一方面是保证输出的是正确的数据格式,防止输出错误信息被客户端错误解析而出现的接口调用异常。

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

4、开发 API 和 WEB 有一定的区别,如果接口返回的格式不规范,被客户端拿到解析,可能会导致客户端闪退崩溃等情况的出现,所以在接口上线之前一定要充分的测试。

5、尽可能保证php写出的代码的性能,手机应用比web应用对响应速度的要求更高,因为用户手机性能的巨大差异,手机应用在从服务端取到数据后要进行数据重组页面渲染等会比web应用消耗更多的时间。

客户端和服务端之间选定json作为数据传输格式,之后便要约定json中各字段的含义,一般在json数据中定义至少三个字段,分别为返回状态码,返回状态描述和数据内容。比如一个定义返回用户信息的的json数据如下:

BJXSHOP网上购物系统 - 书店版
BJXSHOP网上购物系统 - 书店版

BJXSHOP购物管理系统是一个功能完善、展示信息丰富的电子商店销售平台;针对企业与个人的网上销售系统;开放式远程商店管理;完善的订单管理、销售统计、结算系统;强力搜索引擎支持;提供网上多种在线支付方式解决方案;强大的技术应用能力和网络安全系统 BJXSHOP网上购物系统 - 书店版,它具备其他通用购物系统不同的功能,有针对图书销售而进行开发的一个电子商店销售平台,如图书ISBN,图书目录

下载

{“code":0,"msg":"success","data":{"name":"chenxiaolong","age":"22","gender":"male"}}

其中code值为0表示客户端此次请求接口成功,msg字段说明此次请求的状态,与返回状态码code对应,data中是客户端想要取到的具体内容,里面包含服务端返回的用户信息。在data字段开发者可根据不同的接口需要定义不同的字段格式。

此接口的简单代码示例如下:

function getUserInfo() {

$uid = $_REQUEST[‘uid'];

$user = new User();

if($data = $user->findByUid($uid) != false) {

$this->output($data);

} else {

$this->output('',1,'invalid uid');

}

}

客户端通过调用getUserInfo接口并传入用户的uid参数,php接收该参数到mysql数据库用户表里根据此uid查询用户相关信息,其中User是一个封装的用户表模型,它提供根据用户uid查询用户信息的findByUid方法,如果查询到用户信息就输出用户信息,否则返回错误信息给到客户端,此处返回的错误状态码定义为1,表示不合法的uid,即在用户表里没有查询到该uid对应的数据记录。

接口用到了一个公用output方法,此方法是输出json数据的具体实现,示例代码如下:

function output(,$data='',$code=0,$msg='success') {

$out = array('code'=$code,'msg'=>$msg,'data'=>$data);

echo json_encode($out);

}

注意向客户端返回数据时使用的是echo输出而不是return

相关文章

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

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

下载

相关标签:

php

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Java 项目构建与依赖管理(Maven / Gradle)
Java 项目构建与依赖管理(Maven / Gradle)

本专题系统讲解 Java 项目构建与依赖管理的完整体系,重点覆盖 Maven 与 Gradle 的核心概念、项目生命周期、依赖冲突解决、多模块项目管理、构建加速与版本发布规范。通过真实项目结构示例,帮助学习者掌握 从零搭建、维护到发布 Java 工程的标准化流程,提升在实际团队开发中的工程能力与协作效率。

11

2026.01.12

c++主流开发框架汇总
c++主流开发框架汇总

本专题整合了c++开发框架推荐,阅读专题下面的文章了解更多详细内容。

106

2026.01.09

c++框架学习教程汇总
c++框架学习教程汇总

本专题整合了c++框架学习教程汇总,阅读专题下面的文章了解更多详细内容。

64

2026.01.09

学python好用的网站推荐
学python好用的网站推荐

本专题整合了python学习教程汇总,阅读专题下面的文章了解更多详细内容。

139

2026.01.09

学python网站汇总
学python网站汇总

本专题整合了学python网站汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.09

python学习网站
python学习网站

本专题整合了python学习相关推荐汇总,阅读专题下面的文章了解更多详细内容。

19

2026.01.09

俄罗斯手机浏览器地址汇总
俄罗斯手机浏览器地址汇总

汇总俄罗斯Yandex手机浏览器官方网址入口,涵盖国际版与俄语版,适配移动端访问,一键直达搜索、地图、新闻等核心服务。

93

2026.01.09

漫蛙稳定版地址大全
漫蛙稳定版地址大全

漫蛙稳定版地址大全汇总最新可用入口,包含漫蛙manwa漫画防走失官网链接,确保用户随时畅读海量正版漫画资源,建议收藏备用,避免因域名变动无法访问。

480

2026.01.09

php学习网站大全
php学习网站大全

精选多个优质PHP入门学习网站,涵盖教程、实战与文档,适合零基础到进阶开发者,助你高效掌握PHP编程。

52

2026.01.09

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.5万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

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