PHP简单写App接口程序的例子

作者:袖梨 2022-06-24

搭建PHP环境

由于本人使用的电脑是Mac,因此推荐大家使用MAMP PRO这款软件,不过是收费版,相信不想花钱的大家会有办法搞定的!

MAMP PRO这款软件是集成环境软件,已经有apache、mysql、php了,具备运行解析PHP的环境了!

如果不想使用集成环境,可以自己搭建。Mac自带了apache和PHP环境的,只需要稍加配置一下就可以使用了,然后再安装一下mysql就可以了!

启动服务器

这里是以MAMP PRO软件为例,如何启动服务器。如下图,我们假设服务地址为www.api.com,然后将项目目录与这个服务地址关联起来,看图中右下角圈圈部分:

标哥的技术博客

环境启动后,就可以在浏览器中直接输入www.api.com运行起来了!

开始GET接口
我们的空项目在首次运行后,会自动生成index.php这个文件,我们删除里面的内容,然后修改如下:


 
$data = array(
    'tid' => 100,
    'name' => '标哥的技术博客',
    'site' => 'www.111com.net');
   
$response = array(
    'code'    => 200,
    'message' => 'success for request',
    'data'    => $data,
    );
 
echo json_encode($response);
 
我们这里的结构是日常App开发中最常见的返回数据结构了吧?通常都是状态码、状态信息和客户端业务数据。

PHP其实也好给力,声明数组后,通过json_encode函数就可以输出json格式数据了!

iOS调GET接口
我们有了服务器,也写了接口了,那么客户端如何请求又如何获取数据呢?我们先来看一下最简单的GET请求例子,其中使用了HYBNetworking笔者的这个开源库:


NSString *url = @"http://www.api.com/index.php";
[HYBNetworking getWithUrl:url refreshCache:YES success:^(id response) {
   
} fail:^(NSError *error) {
   
}];
 
我们看一下iOS客户端的响应结果:

标哥的技术博客

从响应结果可以看到,与我们服务器接口所返回的是一致的,看下图在浏览器中访问的效果:

PHP开发App接口PHP POST接口

假设我们要求传参数type过来,而且要求是数值型,用于返回不同的数据,当我们做接口测试时,就可以通过这么来干,就不需要等后台给接口了!

 
 
$type = $_POST['type'];
$data = '';
 
if (isset($type) && is_numeric($type) && $type >= 0) {
    if ($type == 1) {
        $data = array(
            'type' => $type,
            'name' => '标哥的技术博客',
            'site' => 'www.111com.net');
    } else if ($type == 2) {
        $data = array(
            'type' => $type,
            'name' => '公众号:标哥的技术博客',
            'site' => 'weixin search: biaogedejishuboke');
    }
 
    $response = array(
        'code'    => 200,
        'message' => 'success for request',
        'data'    => $data,
        );
 
    echo json_encode($response);
    return;
}
 
$response = array(
    'code'    => 999,
    'message' => 'argument error for request',
    'data'    => $data,
    );
 
echo json_encode($response);
 
iOS调POST接口

下面是iOS客户端如何调用刚才所写的PHP POST接口,其中使用了HYBNetworking笔者的这个开源库:

 
NSString *url = @"http://www.api.com/index.php";
NSDictionary *params = @{@"type" : @(1)};
[HYBNetworking postWithUrl:url refreshCache:YES params:params success:^(id response) {
   
} fail:^(NSError *error) {
   
}];
 
我们看看效果如下,可看到如愿地接收到了服务器返回的接口数据并解析出来了:

PHP开发app接口POST请求

相关文章

精彩推荐