一、接口按要求人能够分为两种:
1、是被其他内部项目挪用的接口(包含js异步要求的接口和定时顺序)。
2、是对外的接口,主要提供给外部开发者挪用的。
两种接口最大区分就是,内部接口不须要太严厉的身份考证,而对外接口须要严厉的身份考证,加密解密体式格局林林总总,个中最常见最简朴的就是http basic考证,比方我们的大背景弹出的账号和暗码弹窗,就是用了basic考证,输入账号和暗码才经由过程考证。然则假如内部接口涉及到主要的操纵,不愿望被别人歹意要求的话,照样要做一点加密考证的。
二、无论是哪种接口,都应当考虑到下面的题目:
1、平安。参数平安:这个我们有$_INPUT基本就足够了。是不是须要身份考证:假如只是内部关照类/回调类的接口的话就算被歹意要求也不会影响数据一般,这类的话能够完整不做考证,举个栗子,我做个一个同步定单状况的接口,内里的流程是,查询定单状况有题目的定单,然后更新这些定单的状况。这类接口不须要返回任何值,就算被暴徒歹意挪用也不会有毛线影响的,那就基础没必要做身份考证了。所以这个是不是加考证是依据接口现实逻辑决议的。
2、可否反复要求。比方某个接口是依据传入的定单号,插进去一条数据,须要做好反复要求的推断,防止插进去多条数据。
三、编写接口范例
1. 用 try...catch...构造去写。(主如果 throw 能够随时完毕顺序)
2. 返回状况码,不要返回success即是true或许false,假如要编写文档,关于差别错误码的寄义也应当写邃晓,轻易挪用方查询失足缘由。
例子:
<?php $code = 200; // 接口状况码 $name = trim($_INPUT['name']); $age = trim($_INPUT['age']); if (empty($name)) { $code = 401; throw new Exception('名字不能为空'); } if (!is_numeric($age)) { $code = 402; throw new Exception('岁数必须由数字构成'); } $database_obj = new database_class(); $res = $database_obj->save($name, $age); if ( !$res ) { $code = 403; throw new Exception('保留数据失利'); } $msg = 'ok'; } catch ( Exception $e ) { $msg = $e->getMessage(); } output_json($code,$data,$msg); // $data能够安排须要返回的数据 // output_json函数在大function内里有~假如不想引入大function的话能够复制一份到本身项目 // ========END=======
引荐教程:PHP视频教程
以上就是php接口有哪几种的细致内容,更多请关注ki4网别的相干文章!