使用PHP创建REST API

Piy*_*iya 49 php api rest json curl

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

即使这是一个非常基本的,我想知道最佳实践,API应该由模型控制器基础创建.不只是简单的PHP.

我已经使用Google搜索了许多REST API教程.他们很好,我已经掌握了一些知识.

但我想得到一个代码示例模型,以便我可以引用它并构建我自己的,当然这样做是在制作真正的REST API的标准实践中.

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

$num1 = $_REQUEST['num1'];
$num2 = $_REQUEST['num2'];

$total = $num1 + $num2;
echo json_encode($total);
Run Code Online (Sandbox Code Playgroud)

当然,这永远不能称为API,但仍然如此.如果我对此发出POST响应,我希望REST API的响应为JSON.我应该能够通过REST控制台对其进行测试,以便获得标准响应.

请为我提供一个非常基本但标准的RESTful API.

Mar*_*ean 72

在你的例子中,它很好:它很简单而且很有效.我建议的唯一的事情是:

  1. 验证已发布的数据
  2. 确保您的API正在发送Content-Type标头以告知客户端期望JSON响应:

    header('Content-Type: application/json');
    echo json_encode($response);
    
    Run Code Online (Sandbox Code Playgroud)

除此之外,API是一种输入并提供输出的东西.有可能"过度设计"事物,因为你需要做的事情更复杂.

如果您想沿着控制器和模型的路线前进,那么请阅读MVC模式并找出域对象如何适应它.看看上面的例子,我可以看到MathController一个add()动作/方法.

GitHub上有一些RESTful API的起点项目值得一看.


Nik*_*los 17

尝试从头开始编写REST API并不是一项简单的任务.需要考虑很多问题,您需要编写大量代码来处理来自调用者的请求和数据,身份验证,数据检索和发送回复.

您最好的选择是使用已经准备好此功能的框架并为您进行测试.

一些建议是:

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

Apigility - Zend Technologies的一种尺寸适合所有API处理框架

Laravel API构建教程

还有很多.对Bitbucket/Github的简单搜索将为您提供大量资源.