使用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。

在你的例子中,它很好,它很简单,很有效。 我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会给你很多的资源开始。