【问题标题】:Building Simple REST API using PHP without framework在没有框架的情况下使用 PHP 构建简单的 REST API
【发布时间】:2018-02-10 16:10:38
【问题描述】:

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

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

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

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

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

map($httpMethod, $route, $callback)

例如,我将调用 ("POST", "/users/register", registerUser(params)) 或 ("GET", "/users", registerUser(params)),就像我会做的那样在 MVC Web 应用程序中。

我认为我需要为这两个实体中的每一个提供一个模型和一个服务。该服务将为每个 CRUD 操作执行 SQL。我想我知道如何创建服务,因为它与控制器没有太大区别。

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

首先,如果您同意这是正确的方法,那就太好了,如果不是,我很想听到很多批评,因为我目前很困惑,真的不知道从哪里开始。

【问题讨论】:

    标签: php database rest api service


    【解决方案1】:

    我同意你的看法。 并建议你了解Loopback,很好,和你描述的一样。

    【讨论】:

    • 我知道,你应该学习loopback如何做到这一点,这正是你想要的。
    • 它到底是做什么的?你可以编辑答案来解释一下吗?
    • 我已经根据我必须面对的要求更新了帖子
    【解决方案2】:

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

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

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

    【讨论】:

    • 我已经根据我必须面对的要求更新了帖子。你觉得你的提议会被算作“书面代码”
    • 好的,我明白了......所以这是一个如何在一个不错的框架中完成的示例,它们使用一些现有的类请求、响应、路由,但看看它们和你会知道你需要做什么。如果它不适合您的需求,请好好阅读这篇文章stackoverflow.com/questions/13453746/…
    【解决方案3】:

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

    这需要使用Composer的先验知识

    【讨论】:

    • 你有实现的例子吗?
    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-22
    • 2016-10-27
    • 2019-04-10
    • 2014-02-26
    相关资源
    最近更新 更多