prest - 轻量级PHP的REST框架


GPL
跨平台
PHP

软件简介

特性描述:
本API目前测试的是Linux+Apache+Mysql+PHP环境,其它环境暂时没有测试。
1、api与类方法一一对应,方便快速添加。
2、支持api类方法参数检查。
3、支持权限检查。
4、支持ticket生成、校验,可防止被中间人盗用。
5、支持API自定义缓存时间。
6、继承restdb可使用默认数据库方法。

一、配置Apache支持.htaccess文件

AllowOverride All
Options FollowSymLinks

二、配置rest/inc/config.php

三、使用rest.sql建立数据库
1、登录帐号http://host/rest/user/login?uname=test&passwd=test
2、测试其它接口http://host/rest/user/add?uname=test&passwd=test

四、添加接口
在rest/handlers目录添加对应类文件和静态方法即可。
比如,需要添加http://host/rest/foo/test?arg1=xxx&arg2=xxx&xxx接口。
参数目前可以通过querystring或是post方式传入。
添加foo.php文件

<?php
class foo{
public function test($arg1,$arg2…)
{
auth::check_permission(ROLE_ADMIN);/检查该方法要求的权限/

logic about $obj

....
return new response(array(‘body’=>$obj,’cache’=>‘5’));
}
}
目前返回对象支持:
body:返回正文对象,可以是任何的变量,将转换成json格式返回。
cache:缓存秒数,默认为无缓存。
header:自定义头部对象,里面是key=>value对的数组。
code:返回的http状态码。
五、自定义路径映射
修改config.php变量,加入映射关系。
$g_maps = array(
…,
‘/abc/test’=>array(
‘class’=>’foo’,
‘method’=>’test’
)
)

TODO LIST
1、按http规范,对有副作用影响接口强制要求使用POST/DELETE/PUT 等方法。
2、补充功能函数,目前只添加了对mysql数据库的基本操作。

作者:顶烁科技
网址:http://www.etopshine.com