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
setSupportedFormats('JsonFormat'); //接口列表文件 $r->addAPIClass('api'); $r->handle(); ?>
2. 主接口文件 api.php, 上述1中的api表示的类名api
"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