利用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 相关文章推荐
Zend Guard一些常见问题解答
Sep 11 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
PHP和C#可共用的可逆加密算法详解
Oct 26 PHP
PHP读取文件的常见几种方法
Nov 03 PHP
PHP中仿制 ecshop验证码实例
Jan 06 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
Feb 15 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
PHP实现验证码校验功能
Nov 16 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
php设计模式之原型模式分析【星际争霸游戏案例】
Mar 23 PHP
PHP 自动加载类原理与用法实例分析
Apr 14 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
php+dbfile开发小型留言本
2006/10/09 PHP
php中session_unset与session_destroy的区别分析
2011/06/16 PHP
Zend Framework实现将session存储在memcache中的方法
2016/03/22 PHP
CI分页类首页、尾页不显示的解决方法
2016/03/28 PHP
HTML TO JavaScript 转换
2006/06/26 Javascript
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JS俄罗斯方块,包含完整的设计理念
2010/12/11 Javascript
jquery动态加载js/css文件方法(自写小函数)
2014/10/11 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
如何利用Promises编写更优雅的JavaScript代码
2016/05/17 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
AngularJs Forms详解及简单示例
2016/09/01 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
Vuex 在Vue 组件中获得Vuex 状态state的方法
2018/08/27 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
微信小程序实现多个按钮的颜色状态转换
2019/02/15 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
初学python数组的处理代码
2011/01/04 Python
python设置windows桌面壁纸的实现代码
2013/01/28 Python
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
python实现决策树分类
2018/08/30 Python
Python之时间和日期使用小结
2019/02/14 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
python3 通过 pybind11 使用Eigen加速代码的步骤详解
2020/12/07 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
应届毕业生的自我鉴定
2013/11/13 职场文书
四年级数学教学反思
2014/02/02 职场文书
会计演讲稿范文
2014/05/23 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
2015年政协委员工作总结
2015/05/20 职场文书
微软团队与 NASA 科学家和惠普企业(HPE)的工程师合作
2022/04/21 数码科技
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python