php - 使用 php 创建 API 时的 RESTful API 设计模式

标签 php web-services model-view-controller jakarta-ee restful-architecture

我正在用 php 开发 RESTful。目前我已经开始使用 MVC 设计模式进行编码。 View 文件在其中充当接口(interface)。一个不显示任何图形用户界面但具有所有请求处理逻辑的界面。

现在,我的问题是我编码的方式是正确的还是有更好的方法在 php 中创建 RESTful api?

我的灵感来自于 JavaEE 应用模型。其中我们有实体类作为模型,Java bean 作为 Controller ,远程接口(interface)是从客户端调用的方法列表(一种 View )。

我在正确的轨道上吗?

最佳答案

在基于 PHP 的 MVC 框架中构建 RESTful API 的一个很好的例子可以在 http://www.chrisdanielson.com/2009/09/02/creating-a-php-rest-api-using-the-zend-framework/ 找到。 .

这个例子扩展了 Zend Framework 中一个名为 Zend_Rest_Controller 的类,它简化了这个过程。你可以看看source code看看他们是如何做到的,以及它是否为您提供了有关如何进行自己的实现的想法。

不过,要回答您的问题,您应该将 Controller 用作接口(interface)。因此,如果您向 myapp.com/comment 发送 POST 请求(其中comment 是 Controller ),它就知道您正在尝试添加新评论。如果您向同一个 URL 发送 GET 请求,它知道您想要所有评论,如果您向 myapp.com/comment/4 发送 GET 请求,它知道您想要获取 ID 为 4 的评论。您的 View 应该与您的 API 的内部功能无关。

关于php - 使用 php 创建 API 时的 RESTful API 设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11059513/

相关文章:

ios - 传递 NSManagedObject

php - 对两个表进行选择,结果允许访问这两个选定表的字段

java - php 64 位整数溢出与 Java 实现不同

php - 使用 Livewire 仅选中一个复选框并取消选中其他复选框

java - 在Android中调用Java RESTful webservice

android - Webservice加载数据时如何显示Progressbar?

php - 这个 mySQL 查询可以更好地优化吗?不是 mySQL 专家,但我认为我是对的

web-services - 使用亚马逊服务查询亚马逊网站上的商品

cocoa - Sketch 示例 AppKit 应用程序中的类如何分为模型/ View / Controller ?

c# - 如何在 asp.net mvc 中渲染图像?