使用PHP创build一个REST API

我正在创build我的第一个API,如果传递了两个值,我应该以JSON格式获得响应。 该号码将作为POSTparameter passing。 使用cURL或任何POST方法可用。

即使这是一个非常基本的,我想知道最佳实践和API应该由模型控制器的基础上创build。 不只是普通的PHP。

我已经谷歌search许多REST API教程。 他们很好,我已经获得了一些知识。

但是我想要得到一个示例代码模型,以便我可以参考它并构build我自己的,以及当然在制作真正的REST API的标准做法中的示例。

如果你问我尝试了什么,作为一个初学者,这将是非常有趣的,我所能做的就是:

$num1 = $_REQUEST['num1']; $num2 = $_REQUEST['num2']; $total = $num1 + $num2; echo json_encode($total); 

当然,这永远不会被称为API,但仍然。 如果我给这个POST响应,我想从REST API作为JSON的响应。 我应该可以通过REST控制台对其进行testing,以便获得标准响应。

请给我提供一个非常基本但是标准的RESTful API。

2 Solutions collect form web for “使用PHP创build一个REST API”

在你的例子中,它很好,它很简单,很有效。 我build议的唯一的事情是:

  1. validation已发布的数据
  2. 确保你的API发送Content-Type头来告诉客户端期待JSON响应:

     header('Content-Type: application/json'); echo json_encode($response); 

除此之外,API是需要input并提供输出的东西。 有可能“过度devise”一些东西,因为你需要更复杂的东西。

如果你想要控制器和模型的路线,然后阅读MVC模式,并找出你的域对象如何适应它。 看上面的例子,我可以看到一个带有add()动作/方法的MathController

在GitHub上有几个RESTful API的起点项目值得一看。

尝试从头开始编写REST API不是一件简单的事情。 有许多问题需要考虑,您需要编写大量的代码来处理来自调用者的请求和数据,validation,检索数据和发回响应。

您最好的select是使用已经具备此function的框架,并为您进行testing。

一些build议是:

Phalcon – REST API构build – 易于在一个具有巨大性能的框架中使用

Apigility – Zend Technologies公司的所有API处理框架

Laravel API构build教程

还有很多。 在Bitbucket / Github上简单的search会给你很多的资源开始。

  • 什么是REST? 有点困惑
  • parsingJSON响应
  • REST风格的Web服务 - 如何authentication来自其他服务的请求?
  • 为REST API构build在线文档
  • 如何使用Chrome的扩展“高级rest客户端”testingREST API
  • 消费我自己的Laravel API
  • 用于search的REST式URLdevise
  • 如果一个RESTful“PUT”操作返回一些东西
  • 如何防止浏览器调用基本的身份validationpopup窗口,并使用JQuery处理401错误?
  • 如何版本REST URI
  • file_get_contents():代码1的SSL操作失败