利用PHP如何写APP接口详解

时间:2022-09-23 23:55:24

搭建php环境

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

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

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

大家可以看一下简单版本配置:mac配置php环境 这篇文章。

启动服务器

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

利用PHP如何写APP接口详解

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

开始get接口

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
$data = array(
 'tid' => 100,
 'name' => '标哥的技术博客',
 'site' => 'www.huangyibiao.com');
 
$response = array(
 'code' => 200,
 'message' => 'success for request',
 'data' => $data,
 );
 
echojson_encode($response);

我们这里的结构是日常app开发中最常见的返回数据结构了吧?通常都是状态码、状态信息和客户端业务数据。

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

ios调get接口

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

?
1
2
3
4
5
6
nsstring *url = @"http://www.api.com/index.php";
[hybnetworkinggetwithurl:urlrefreshcache:yessuccess:^(id response) {
 
}fail:^(nserror *error) {
 
}];

我们看一下ios客户端的响应结果:

利用PHP如何写APP接口详解

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

利用PHP如何写APP接口详解

php post接口

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
 
$type = $_post['type'];
$data = '';
 
if (isset($type) && is_numeric($type) && $type >= 0) {
 if ($type == 1) {
 $data = array(
  'type' => $type,
  'name' => '标哥的技术博客',
  'site' => 'www.huangyibiao.com');
 } else if ($type == 2) {
 $data = array(
  'type' => $type,
  'name' => '公众号:标哥的技术博客',
  'site' => 'weixin search: biaogedejishuboke');
 }
 
 $response = array(
 'code' => 200,
 'message' => 'success for request',
 'data' => $data,
 );
 
 echojson_encode($response);
 return;
}
 
$response = array(
 'code' => 999,
 'message' => 'argument error for request',
 'data' => $data,
 );
 
echojson_encode($response);

ios调post接口

下面是ios客户端如何调用刚才所写的php post接口,其中使用了hybnetworking笔者的这个开源库:

?
1
2
3
4
5
6
7
nsstring *url = @"http://www.api.com/index.php";
nsdictionary *params = @{@"type" : @(1)};
[hybnetworkingpostwithurl:urlrefreshcache:yesparams:paramssuccess:^(id response) {
 
}fail:^(nserror *error) {
 
}];

我们看看效果如下,可看到如愿地接收到了服务器返回的接口数据并解析出来了:

利用PHP如何写APP接口详解

总结

本篇文章的内容到这就基本结束了,相信大家若想学习它,一定会认真去操作一遍的!今后会慢慢接触它,慢慢掌握它,一定会让你在工作上更加顺利的!希望本文对大家能有所帮助。