PHP 接口开发注意事项
PHP 接口开发注意事项
预先定义接口流程和逻辑,确认需求
在开发前首先确定流程,复杂的接口可以绘制流程图,并确保流程与需求一致;
使用统一的变量定义
无论是SDK还是Server均因同一变量的定义以及全局变量的设置。目的是方便维护
完善的异常处理机制
接口是向外提供服务的,一旦出现异常影响较大,甚至影响系统的安全。因此需要一套完善的异常处理机制。如常见的网络连接超时等,对file_get_contents和fsocket之类的函数,需要使用@抑制错误输出
统一的提示信息输出格式
统一格式的输出会很大程度上的方便使用者
SDK的兼容性
充分考虑SDK的兼容性问题,不是所有的使用者的环境都是5.3,不是所有的环境都支持curl。最坏的考虑是提示用户安装curl扩展。PHP版本的限制至少能在5.0以上,不要使用自己不熟悉的函数,尤其是对PHP版本有依赖的
友好的错误提示
无论服务是否正常,都应该向用户数据优化的错误提示
安全机制
对用户输入数据严格过滤,避免服务存在的安全隐患
服务高可用
很多业务依赖服务接口,因此接口的高可用必不可少,应该建立监控接口,在服务所依赖的接口出现故障时及时发现和排除。
转载于:https://www.cnblogs.com/kisay/p/3bfa77ea3631015d2193ec2c18da26ee.html
PHP 接口开发注意事项相关推荐
- java建行转账接口开发_建行网银接口开发注意事项
建行网银开发过程并不复杂,但就是部署的时候经常出现一些异常的错误.实际就是实例化 CCBRSA.RSASig rsa = new CCBRSA.RSASigClass();的时候会有问题. Retri ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发)
http://www.thinkphp.cn/topic/5023.html 推荐阅读:RESTful 是什么?一起来理解 RESTful 架构 更深入了解API开发 这个帖子写给不太了解PHP与AP ...
- Zynq的AMP开发注意事项之sdk_repo
目录 前言 1.BSP工程说明 第一步:创建BSP工程,选择硬件平台.cpu核和支持的OS 第二步:BSP工程设置 (1)版本+库文件选择 (2)standalone配置 (3)drivers支持 ( ...
- api 接口开发理论 在php中调用接口以及编写接口
如: http://localhost/openUser.php?act=get_user_list&type=json 在这里openUser.php相当于一个接口,其中get_user_l ...
- 分布式系统开发注意点_分布式系统开发注意事项
分布式系统开发注意点 开发分布式软件系统时,要考虑许多因素. 如果您甚至不知道第一句话中我在说什么,那么让我为您提供一些见解,示例以及有关分布式系统的实例. 总览 分布式系统是指多个物理硬件设备与单独 ...
- 分布式系统开发注意事项
开发分布式软件系统时,要考虑许多因素. 如果您甚至不知道第一句话中我在说什么,那么让我为您提供一些见解,示例以及有关分布式系统的实例. 总览 分布式系统是指多个物理硬件设备与单独的离散用户交互并通过这 ...
- 浅谈 PHP 与手机 APP 开发(API 接口开发) 1
这个帖子写给不太了解PHP与API开发的人 一.先简单回答两个问题: 1.PHP 可以开发客户端? 答:不可以,因为PHP是脚本语言,是负责完成 B/S架构 或 C/S架构 的S部分,即:服务端的开发 ...
- java nc接口开发_OA和NC系统集成接口开发方案.doc
OA与NC系统集成接口开发方案 目 录 目 录2 4 单点登录3 4.1 注册登录key访问接口3 4.2 访问NC-EHR业务功能3 5. 代办事项列表信息4 6 单一代办事项信息展示4 4 单点登 ...
- 微信公众平台卡券API接口开发指南
文章目录 说明 卡券术语介绍 卡券生命周期流程图 准备 申请开发账号 公众平台开发配置 公众号开发信息配置 填写服务器配置并验证有效性 申请微信认证及开通微信卡券功能 卡券分类 普通卡券 会员卡券 朋 ...
最新文章
- AI一分钟 |“最抢手”毕业生排名出炉:清华没进前三?支付宝将支持iPhone X刷脸
- 传统企业应用转型--从0到1的微服务之路
- js的变量作用域 ,变量提升
- mxnet cannot import name 'nd'
- 《GDAL源码剖析与开发指南》一一1.9 简单的调用
- AWS服务器自动化迁移工具指南
- C++中函数重载分析
- SAP修改已经释放的请求
- 如何开发一个高性能的redis cluster proxy
- JavaScript实现更新数字指定偏移量上的值updateBit算法(附完整源码)
- sublime xdebug调试php
- 深入浅出HTTPS工作原理
- django 学习 (二) 模板
- 纪念品分组java_纪念品分组 ——易懂、简介、技巧(Java代码)
- python在另一个函数中使用其他函数的变量_在另一个函数中访问函数的变量,如function() . var in python...
- 解放双手!推荐一款阿里开源的低代码工具,YYDS!
- keepalived java,keepalived 安装及使用
- 如何解决testng执行用例失败自动重跑问题
- 洛谷——P1597 语句解析(两种解法)
- 最近很多面试都是考研凉凉的,心塞!
热门文章
- 大一计算机理论考试知识点,计算机一级考试理论知识点整理.doc
- “git pull” 强制覆盖本地文件
- 【SSL】错误java.security.UnrecoverableKeyException: Cannot recover key
- 割线法求解过程_潮流方程的割线法求解
- c# getresponsestream返回byte[]_C# 基础知识系列-13 常见类库(三)
- android流程化步骤样式,Android RecyclerView 解析之绘制流程篇
- 格式化_U盘提示格式化怎么办 U盘提示格式化解决方法【详解】
- c语言游戏编程网盘下载,C语言游戏编程 计算器(5分下载)
- linux下编辑aacc.sh脚本命令,Shell命令实战详解
- 三十七、数据泛化(面向属性的归纳)