輕量級PHP的REST框架:prest

jopen 11年前發布 | 50K 次閱讀 prest Web框架

特性描述:
本API目前測試的是Linux+Apache+Mysql+PHP環境,其它環境暫時沒有測試。
1、api與類方法一一對應,方便快速添加。
2、支持api類方法參數檢查。
3、支持權限檢查。
4、支持ticket生成、校驗,可防止被中間人盜用。
5、支持API自定義緩存時間。
6、繼承restdb可使用默認數據庫方法。

一、配置Apache支持.htaccess文件
<Directory /.../rest/ >
    AllowOverride All
    Options FollowSymLinks
</Directory>

二、配置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.baiduhome.net/lib/view/home/1365860895234

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!