加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

RESTful PHP框架,支持资源,方法和格式

发布时间:2020-12-13 22:33:09 所属栏目:PHP教程 来源:网络整理
导读:似乎有各种各样的 PHP框架声称RESTful设计模式. 我正在寻找一个能够很好地为这三个项目(或它们的等价物)提供可靠解决方案的框架. 1.资源请求 首先要做的是能够处理资源解析的URL. /path/to/resource = controller.action() 2.请求方法 第二件事是处理不同类
似乎有各种各样的 PHP框架声称RESTful设计模式.

我正在寻找一个能够很好地为这三个项目(或它们的等价物)提供可靠解决方案的框架.

1.资源请求

首先要做的是能够处理资源解析的URL.

/path/to/resource = controller.action()

2.请求方法

第二件事是处理不同类型的请求方法.

GET /path/to/resource  = controller.get()
POST /path/to/resource = controller.post()

如果没有请求方法匹配,可能会回退到通用处理程序.

GET /path/to/resource  = controller.action()
PUT /path/to/resource  = controller.action()
POST /path/to/resource = controller.action()

3.响应格式

最后,我看到人们将格式附加到URL的末尾,以帮助框架知道预期的响应类型.

/path/to/resource.html
/path/to/resource.json

人们在标题中传递响应格式或作为URI参数(?format = json)的其他方式.

这些是必须涵盖的三个项目.但是,它们不必像我刚刚展示的那样处理 – 这些只是示例.

解决方法

我一直在研究类似的框架,但在PHP世界中似乎没有太多进展. Here是关于PHP REST框架的相关问题.

Recess看起来很有趣,我发现Zend Framework的新REST controllers and routers非常有用.我在also started implementing an easier approach顶部的Zend组件.基本上你注册了一堆视图渲染器(HTML,JSON和简单形式的XML支持开箱即用,通过接受头解析或用format =?参数覆盖它)和身体解析器(Web Foms和JSON启用) )并基于此界面:

interface Feathry_Rest_Resource
{
    public function index($params = null);
    public function get($id,$params = null);
    public function post($data,$params = null);
    public function put($data,$id = null,$params = null);
    public function delete($id,$params = null);
}

每个方法返回一个普通数组或对象(使用toArray方法),您可以创建一个RESTful资源.优点是,您的资源完全与任何Representation分离.他们甚至不必知道他们正在通过HTTP使用,只要他们遵循界面.它仍然非常alpha,并且它似乎没有太大的兴趣,但它确实有效,所以也许你想尝试一下.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读