你能在PHP中使用REST吗?如果是这样,如何?[已关闭]

2022-08-30 11:20:54

我正在开发自己的PHP库,我想从我的API调用RESTful Web服务。这可以在PHP中完成吗,如果是这样,这样做的基础知识是什么?


答案 1

由于REST是将HTTP协议的相同方法应用于客户端 - 服务器架构的设计,并且PHP已经很好地处理HTTP协议请求,例如GET和POST.PHP特别适合于使开发REST服务变得容易。

请记住,REST是已经存在的相同http模式的应用程序。

因此,如果您当前有一个执行类似操作的应用程序:

  1. 网页表单
  2. PHP 流程
  3. 表中的 HTML 输出

因此,要使其成为REST,您需要:

  1. 接受来自 Web 的参数。这很容易,因为您将收到参数作为get或post...所以它基本上是一样的。

  2. PHP 流程

  3. JSON 或 XML 格式输出。就是这样!

    很容易。

现在困难的部分是使你将要生成的API(函数和URL)成为程序员友好的。

在这种情况下,我建议你看看flickr API作为一个例子,它非常适合开发人员,很容易猜到,并且有很好的文档。

有关API的更多信息,请查看此演示文稿:如何设计一个好的API和为什么它很重要(Joshua Bloch)

最后,RESTful API也应该在有意义的时候实现http协议的PUT和DELETE方法。

例如,如果您的 API 中有一个删除操作,则该服务应从 http 协议接收删除方法。而不是更常见的做法是将操作参数作为发布请求的一部分发送。

编辑:将“默认情况下Php是静止的”替换为“由于REST是HTTP协议的相同方法在客户端 - 服务器架构设计中的应用,并且PHP已经很好地处理HTTP协议请求,如GET和POST.PHP特别适合于使开发REST服务变得容易。

还添加了最后一个说明,当该操作对您的api有意义时,您应该实现适当的PUT或DELETE方法。


答案 2

您可能想看看这篇文章和后续文章:http://www.gen-x-design.com/archives/create-a-rest-api-with-php/

您的问题非常开放,因此本教程可能是最好的起点。

上面的链接不再有效,因此请查看本教程:

http://net.tutsplus.com/tutorials/other/a-beginners-introduction-to-http-and-rest/


推荐