使用不带框架的PHP构建简单REST API

时间:2018-02-10 16:10:38

标签: php database rest api service

我想使用PHP构建REST API,但没有任何框架。通过以下要求:

  • 代码应尽可能简单,并考虑到OOP开发原则,易于阅读和扩展
  • 数据应保存在MySQL中,并以给定格式的JSON格式返回
  • 请勿使用任何框架或任何已编写的代码,但要具有结构
  • 用户输入数据验证
  • 应该没有安全问题

起初,我认为我应该构建完整的MVC项目,但我意识到实际上我可能不需要任何视图,我将使用服务而不是控制器。还有两个实体(文章和用户)的模型。

我仍然不确定这样做的完美方式是什么,所以我只会告诉你我到目前为止的想法...对不起,如果它是一个重复的帖子,但我没有找到关于这个的重要信息从我发现的一点点来看,我更加困惑。

我想到了一个简单的router.php类,它将有一个方法:

map($httpMethod, $route, $callback)

因此,例如,我将调用(“POST”,“/ users / register”,registerUser(params))或(“GET”,“/ users”,registerUser(params)),就像我会做的那样在MVC网络应用程序中。

我想我需要两个实体的模型和服务。该服务将为每个CRUD操作执行SQL。我想我知道如何创建服务,因为它与控制器没什么不同。

但我想知道如何为两个实体创建模型部分。作为代码,模型究竟需要什么?

首先,如果你同意这是正确的方式会很好,如果没有,我很乐意听到很多批评,因为我现在很困惑,真的不知道从哪里开始。< / p>

3 个答案:

答案 0 :(得分:0)

我同意你的看法。 并建议你了解Loopback,这很好,就像你描述的那样。

答案 1 :(得分:0)

我知道你的问题是如何在没有框架的情况下构建你自己的rest api,但听起来你实际上很好地利用了至少一些组件(不一定是整个框架),你真的需要/想要吗?从一开始写一个路由器?

如果确定,如果没有可能的微框架?无论如何,symfony有一些关于你如何创建自己的框架的信息(仅作为一个例子),他们使用他们自己的几个类(即httpcomponent),但只是为了解释你想要的事情的想法/方式。< / p>

https://symfony.com/doc/current/create_framework/index.html

答案 2 :(得分:0)

我在PHP中找到了这个库,以便开始使用REST API php-platform/restful

这需要有关使用Composer

的先验知识