php 使用 restler 框架构建 restfull api

restler 轻量级,小巧,构建restfull api非常方便!

官网:http://restler3.luracast.com/

目前最后的是3.0版本,我测试使用的是2.2版本;

一:安装restler2

1. 下载 https://github.com/Luracast/Restler/tree/2.2.0

2. exmple目录下放的是例子

3. 把restler 目录的所有文件放到你的web服务下;

二:开始创建restfull api

1. index.php

<?php

	//引入restler库
require_once './restler/restler.php'; $r = new Restler();
//配置支持的返回数据格式,json,xml等
$r->setSupportedFormats('JsonFormat');
//接口列表文件
$r->addAPIClass('api');
$r->handle(); ?>

2. 主接口文件 api.php, 上述1中的api表示的类名api

<?php

	//工具类
include 'util.php'; class api
{ //get 请求 /url/xml
public function getXml($deviceType)
{
if (!$deviceType) {
return array('xml' =>"error ");
} if ($deviceType=='1') { //return ios
return array('xml' =>"ios");
}
elseif ($deviceType=='2') { //return android
return array('xml' =>"android");
} elseif ($deviceType=='3') {
//return pc
return array('xml' =>"pc");
} else
{
return array('xml' =>"none support deviceType");
} } //post 请求,
public function postXXL($dev)
{
return returnXML($dev);
} //当类名与文件名相同时,可以不用 include 该类
public function getAAA()
{
$bd = new Baidu();
return $ret = array('site' => "baidu.com", );;
} } ?>

三:访问测试

1. api.php中所有public的方法,就是请求的方法,get或post 以方法名的前关键字为准;

如getXml方法,测试请求方式为

get http://127.0.0.1/tp/api/xml.josn

  或 http://127.0.0.1/tp/api/xml/1.json

  或http://127.0.0.1/tp/api/xml?deviceType=1

  后面的1对应getXml的请求字段 $deviceType

2. 其他函数同上

3. 如果要同时支持xml

如http://127.0.0.1/tp/api/xml/1.xml

http://127.0.0.1/tp/api/xml/1.json

在index.php配置

$r->setSupportedFormats('JsonFormat', 'XmlFormat');

更多:http://restler3.luracast.com/examples/index.html

php 使用 restler 框架构建 restfull api的更多相关文章

  1. 小白的springboot之路(十一)、构建后台RESTfull API

    0.前言 开发系统中,前后端分离,后端一般返回RESTfull  API,前端调用API构建UI,彼此分离.互相完全独立: 后台API中,我们一般返回结果码.提示信息.数据三部分内容,如图: 我们今天 ...

  2. restFull api接口

    RestFull api接口 前后端分离开发的接口规范 什么是RestFull 是目录比较流行的api设计规范 注:restfull api规范应用场景,前后端分离的项目中 数据接口的现场 例如: / ...

  3. 基于Dubbo框架构建分布式服务(一)

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  4. 基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标GPS监控平台

    开发企业级的部标GPS监控平台,投入的开发力量很大,开发周期也很长,选择主流的开发语言以及成熟的开源技术框架来构建基础平台,是最恰当不过的事情,在设计之初就避免掉了技术选型的风险,避免以后在开发过程中 ...

  5. 基于Dubbo框架构建分布式服务

    Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务应用场景来选择合适的集群容错模式,这个对于很多应用都是迫切希望的,只需要通过简单的配 ...

  6. spring boot / cloud (三) 集成springfox-swagger2构建在线API文档

    spring boot / cloud (三) 集成springfox-swagger2构建在线API文档 前言 不能同步更新API文档会有什么问题? 理想情况下,为所开发的服务编写接口文档,能提高与 ...

  7. [转载] 基于Dubbo框架构建分布式服务

    转载自http://shiyanjun.cn/archives/1075.html Dubbo是Alibaba开源的分布式服务框架,我们可以非常容易地通过Dubbo来构建分布式服务,并根据自己实际业务 ...

  8. RabbitMQ框架构建系列(二)——RabbitMQ基础知识介绍

    上一篇记录了一下AMQP协议,RabbitMQ是一个Erlang开发的AMQP协议的开源实现.这一篇简单的介绍一下RabbitMQ的基本原理. 一.RabbitMQ的特点 1.可靠性:RabbitMQ ...

  9. 使用Express构建RESTful API

    RESTful服务 REST(Representational State Transfer)的意思是表征状态转移,它是一种基于HTTP协议的网络应用接口风格,充分利用HTTP的方法实现统一风格接口的 ...

随机推荐

  1. POI 简单合并单元格

    public class MergedCells { /** 测试使用的POI版本是3.1 * @param args */ public static void main(String[] args ...

  2. Mysql-学习笔记(==》数据库备份修复 十 四)

    CREATE DATABASE db USE db; CREATE TABLE stu( id INT UNSIGNED NOT NULL AUTO_INCREMENT, sname VARCHAR( ...

  3. 2016年6月25日 星期六 --出埃及记 Exodus 14:22

    2016年6月25日 星期六 --出埃及记 Exodus 14:22 and the Israelites went through the sea on dry ground, with a wal ...

  4. Java爬虫工程师技能列表

    以下仅仅是自己一些粗浅认识.欢迎补充指正.欢迎进群交流! 掌握一半便能够熟练的开发爬虫玩了.自己正在努力中... 一.技能列表 1.掌握java.尤其编程网络部分:李刚的java基础至少看了三遍以上: ...

  5. SqlSever基础 substring 从指定位置开始,截取指定长度的字符串

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  6. 高通平台点亮LCD个人总结

    点击打开链接 高通平台LCD模块大致分为两部分:KERNEL和LK.在进行点屏之前,应该认真查看LCD原理图,弄清楚LCD亮屏需要满足的条件和上电时序,同时可以跟LCD IC原厂拿到初始化代码. 首先 ...

  7. 摩托罗拉SE4500 三星 S3C6410 Wince6.0平台软解码调试记录以及驱动相关问题解释

    虽然S3C6410出来很多年了,甚至于已经停产了,出货的几乎都有依赖于库存,SE4500也出来很多年了,但是网上依旧不会有调试资料帮助你,一切源于自私.希望本文能帮到你,不必感谢.本文来自C.S.D. ...

  8. 【leetcode❤python】 438. Find All Anagrams in a String

    class Solution(object):    def findAnagrams(self, s, p):        """        :type s: s ...

  9. C#四则运算之策略模式

    Calculator.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  10. 字段符号FIELD-SYMBOLS

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...