利用PHP如何写APP接口详解


Posted in PHP onAugust 23, 2016

搭建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 这个文件,我们删除里面的内容,然后修改如下:

<?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笔者的这个开源库:

NSString *url = @"http://www.api.com/index.php";
[HYBNetworkinggetWithUrl:urlrefreshCache:YESsuccess:^(id response) {
 
}fail:^(NSError *error) {
 
}];

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

利用PHP如何写APP接口详解

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

利用PHP如何写APP接口详解

PHP POST接口

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

<?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笔者的这个开源库:

NSString *url = @"http://www.api.com/index.php";
NSDictionary *params = @{@"type" : @(1)};
[HYBNetworkingpostWithUrl:urlrefreshCache:YESparams:paramssuccess:^(id response) {
 
}fail:^(NSError *error) {
 
}];

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

利用PHP如何写APP接口详解

总结

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

PHP 相关文章推荐
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
PHP动态创建Web站点的方法
Aug 14 PHP
php addslashes及其他清除空格的方法是不安全的
Jan 25 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
php中try catch捕获异常实例详解
Nov 21 PHP
php限制上传文件类型并保存上传文件的方法
Mar 13 PHP
Symfony学习十分钟入门经典教程
Feb 03 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
Jan 22 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
Jun 15 PHP
Ajax中的JSON格式与php传输过程全面解析
Nov 14 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 PHP
PHP微信API接口类
Aug 22 #PHP
简单PHP会话(session)说明介绍
Aug 21 #PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 #PHP
PHP控制前台弹出对话框的实现方法
Aug 21 #PHP
php代码检查代理ip的有效性
Aug 19 #PHP
PHP中new static()与new self()的比较
Aug 19 #PHP
ThinkPHP3.2.1图片验证码实现方法
Aug 19 #PHP
You might like
Ajax PHP分页演示
2007/01/02 PHP
PHP 裁剪图片成固定大小代码方法
2009/09/09 PHP
php rsa加密解密使用详解
2015/01/14 PHP
php基于socket实现SMTP发送邮件的方法
2015/03/05 PHP
PHP给前端返回一个JSON对象的实例讲解
2018/05/31 PHP
Laravel框架模板加载,分配变量及简单路由功能示例
2018/06/11 PHP
Javascript 自定义类型方法小结
2010/03/02 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
2016/06/17 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
JavaScript实现滑动导航栏效果
2017/08/30 Javascript
vue-cli实现多页面多路由的示例代码
2018/01/30 Javascript
vue 中filter的多种用法
2018/04/26 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
vue+element_ui上传文件,并传递额外参数操作
2020/12/05 Vue.js
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
[01:04:02]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第二场 1月24日
2021/03/11 DOTA
分享Python文本生成二维码实例
2016/01/06 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
利用python计算时间差(返回天数)
2019/09/07 Python
python中利用matplotlib读取灰度图的例子
2019/12/07 Python
python默认参数调用方法解析
2020/02/09 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
Blank NYC官网:夹克、牛仔裤等
2020/12/16 全球购物
高三自我鉴定
2013/10/23 职场文书
招聘专员岗位职责
2014/03/07 职场文书
奥利奥广告词
2014/03/20 职场文书
初中作文评语大全
2014/04/23 职场文书
中学优秀班主任事迹材料
2014/05/01 职场文书
党员“四风”方面存在问题及整改措施
2014/09/24 职场文书
2014年稽查工作总结
2014/12/20 职场文书
2015年电厂工作总结范文
2015/05/13 职场文书
汉字听写大会观后感
2015/06/12 职场文书
小学班级标语口号大全
2015/12/26 职场文书
Nest.js参数校验和自定义返回数据格式详解
2021/03/29 Javascript