rest full php,php 使用 restler 框架构建 restfull api

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

//引入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

//工具类

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

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

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

restFull api接口

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

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

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

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

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

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

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

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

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

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

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

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

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

使用Express构建RESTful API

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

随机推荐

Elasticsearch5.0 BreakChange摘要

Lucene版本 6.2.1 常用API变化重点关注 Java api 1 client create方式变更: 2 count api removed; 3 suggest api removed; ...

linux 启动weblogic的某服务报错

问题如标题所示, 错误信息主要包括: weblogic.store.PersistentStoreException: [Store:280073]The file store"WLS_DI ...

【eoe 6】ActionBar的使用

一. Action Bar 一般位于屏幕顶部,包括四个可操作区域: 应用图标或LOGO区域,用于视图控制的Spinner下拉菜单或TAB控件区域, Action button(也称为Action It ...

修改eclipse中tomcat的发布路径

当我们在eclipse部署好tomcat的时候,默认这个项目是部署在eclipse\workspace\.metadata\.plugins\org.eclipse.wst.server.core\t ...

WinAPI: FindWindow、FindWindowEx - 查找窗口

FindWindow(   lpClassName,        {窗口的类名}   lpWindowName: PChar {窗口的标题} ): HWND;              {返回窗口的 ...

dos判断系统版本的语句,

是我在单位批量安装软件使用的批处理,判断方法如下,仅供参考,本人不懂任何编程,大家凑合着看: winxp和win7判断: net config workstation |(find /i " ...

在SharePoint 2010中部署RBS (转)

一.RBS(Remote BLOB Storage)简单介绍 在SharePoint的大部分企业应用案例中,SharePoint都是要承担着非常繁重的文件管理工作,这些文件类型包含了Word文档,Ex ...

Tomcat剖析(三):连接器(2)

Tomcat剖析(三):连接器(2) 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三):连接器(1) 4 ...

JavaScript网页全屏API

在大多数的浏览器中都有实现网页全屏显示的功能,并且大部分浏览器实现全屏显示和退出全屏显示的快捷键通常是F11和Esc两个按键.如今,W3C已经制定了关于网页全屏显示的API,利用这个API 可以实现网 ...

java的3大特性

java的3大特性 1.继承: * 继承是从已有类得到继承信息创建新类的过程. * 提供继承信息的类被称为父类(超类.基类):得到继承信息的类被称为子类(派生类). * 继承让变化中的软件系统有定的延 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值