PHP编写简单的App接口


Posted in PHP onAugust 28, 2016

本篇是笔记尝试写的第一个PHP接口,并在iOS开发中尝试应用测试。今天给大家分享如何自己写接口来测试!

相信很多朋友在开发时遇到过这样的问题:后台什么时候提供接口?怎么才提供一个接口,其他接口什么时候给出来?没有接口我们前端怎么能做得了?

哈哈!大学学完本篇就可以自己搞个接口来返回固定的死数据来测试了!

搭建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.MVC的模板标签系统(三)
Sep 05 PHP
smarty实例教程
Nov 19 PHP
逐步提升php框架的性能
Jan 10 PHP
php的declare控制符和ticks教程(附示例)
Mar 21 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
Nov 07 PHP
php中getservbyport与getservbyname函数用法实例
Nov 18 PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 PHP
php将print_r处理后的数据还原为原始数组的解决方法
Nov 02 PHP
php获取指定数量随机字符串的方法
Feb 06 PHP
Yii2设置默认控制器的两种方法
May 19 PHP
php对微信支付回调处理的方法
Aug 23 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
PHP导出带样式的Excel示例代码
Aug 28 #PHP
总结对比php中的多种序列化
Aug 28 #PHP
PHP打印输出函数汇总
Aug 28 #PHP
PHP中include/require/include_once/require_once使用心得
Aug 28 #PHP
PHP常用的三种设计模式汇总
Aug 28 #PHP
Apache PHP MySql安装配置图文教程
Aug 27 #PHP
php微信开发接入
Aug 27 #PHP
You might like
咖啡的植物学知识
2021/03/03 咖啡文化
基于mysql的bbs设计(二)
2006/10/09 PHP
php获取汉字首字母的函数
2013/11/07 PHP
PHP魔术方法使用方法汇总
2016/02/14 PHP
深入解析PHP的Yii框架中的缓存功能
2016/03/29 PHP
PHP MVC框架skymvc支持多文件上传
2016/05/26 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
javascript支持firefox,ie7页面布局拖拽效果代码
2007/12/20 Javascript
Javascript YUI 读码日记之 YAHOO.util.Dom - Part.2 0
2008/03/22 Javascript
asp.net下利用js实现返回上一页的实现方法小集
2009/11/24 Javascript
js继承的实现代码
2010/08/05 Javascript
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
jquery实现鼠标滑过后动态图片提示效果实例
2015/08/10 Javascript
jQuery无刷新上传之uploadify3.1简单使用
2016/06/18 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
2016/08/25 Javascript
基于MVC+EasyUI的web开发框架之使用云打印控件C-Lodop打印页面或套打报关运单信息
2016/08/29 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
百度地图JavascriptApi Marker平滑移动及车头指向行径方向
2017/03/13 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
Python爬取三国演义的实现方法
2016/09/12 Python
详解python的数字类型变量与其方法
2016/11/20 Python
python 读取鼠标点击坐标的实例
2018/12/29 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
计算机毕业大学生推荐信
2013/12/01 职场文书
《三峡》教学反思
2014/03/01 职场文书
设计顾问服务计划书
2014/05/04 职场文书
酒会开场白大全
2015/06/01 职场文书
教师反邪教心得体会
2016/01/15 职场文书
竞聘演讲报告:基本写作有哪些?附开头范文
2019/10/16 职场文书
使用goaccess分析nginx日志的详细方法
2021/07/09 Servers