使用 PHP 创建 REST API

2022-08-30 10:35:50

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

尽管这是一个非常基本的方法,但我想知道最佳实践,API应该由模型 - 控制器基础创建。不仅仅是普通的PHP。

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

但是我想得到一个代码的示例模型,以便我可以参考它并构建我自己的模型,当然,该示例在制作真正的REST API的标准实践中也是如此。

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

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

$total = $num1 + $num2;
echo json_encode($total);

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

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


答案 1

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

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

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

除此之外,API是接受输入并提供输出的东西。有可能“过度设计”事物,因为你使事情变得更加复杂。

如果你想沿着控制器和模型的路线走下去,那么请阅读MVC模式,并弄清楚你的域对象如何适应它。看看上面的例子,我可以看到也许有一个动作/方法。MathControlleradd()

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


答案 2

尝试从头开始编写 REST API 并非易事。有许多问题需要考虑,您需要编写大量代码来处理来自调用方的请求和数据,身份验证,数据检索和发回响应。

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

一些建议是:

Phalcon - REST API构建 - 易于使用,一体化框架,性能巨大

Apigility - Zend Technologies的一刀切API处理框架

Laravel API 构建教程

以及更多。在Bitbucket / Github上进行简单的搜索将为您提供大量资源。


推荐