php原生书写接口的方法,分为if和switch、数组三种方式构建
适用:原生或框架内部应用,调用部分的api路径进行使用
以下是if和else的方式接口代码实例:
<?php
//通过get参数获取接口的信息,如?api=1,则直接调用满足条件的接口。
$api_id = intval($_GET['api_id']);
//通过id或者其他参数
if($api_id==1){
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用list接口';
}elseif($api_id ==2){
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用login接口';
}elseif($api_id ==2){
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用reg接口';
}
以下是switch的方式接口代码实例:
<?php
//通过get参数获取接口的信息,如?api=1,则直接调用满足条件的接口。
$api_id = intval($_GET['api_id']);
//通过id或者其他参数
switch($api_id){
case 1:
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用list接口';
break;
case 2:
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用login接口';
break;
case 3:
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用reg接口';
break;
default:
return '没有你需要的接口';
break;
}
数组形式的调用
<?php
//通过get参数获取接口的信息,如?api=1,则直接调用key为1的接口信息,进行请求。
$api_id = intval($_GET['api_id']);
$api_arr = [
'1'=>[
'id'=>1,
'api_name'=>'list'
],
'2'=>[
'id'=>2,
'api_name'=>'login',
'api_url'=>'/login.php'
],
'3'=>[
'id'=>3,
'api_name'=>'reg',
'api_url'=>'/reg.php'
],
];//此数组可以存在数据库进行读取,也可以写成固定的api配置文件进行读取,主要用于下面的判断
if($api_id>0){
$api_info = $api_arr[$api_id];
//此处逻辑省略,自行通过curl函数进行post、get的请求,以及数据的处理
return '正在调用'.$api_info['api_name'].'接口';
}else{
return '没有你需要的接口!';
}
密钥的判断和验证实例
<?php
$api_key = $_GET['key'];//传递过来的key,包含字头信息,可以通过固定的加解密密文或者自己自定义的加解密函数进行解密和匹配。
$web_key = $_SESSION['web_key'];//登录时存储的密钥,进行匹配,详细方式见上面的说明,具体不做演示。
if($api_key == $web_key){
return '验证成功';
}
return '验证失败';