【问题标题】:Do I need a framework to build a REST API in PHP?我是否需要一个框架来在 PHP 中构建 REST API?
【发布时间】:2012-07-01 09:46:06
【问题描述】:

我对 PHP 相当陌生(大约 8 个月)。我正在构建一个 Web 应用程序,它几乎已准备好进行测试。我现在才开始考虑制作该应用程序的移动版本需要做什么。

据我了解,我应该构建一个 REST API(如果我错了,请纠正我)。我目前没有为我的网络应用程序使用 PHP 框架。我可以做?

我现在应该开始使用框架以便更轻松地实现我的 API 吗?或者我可以在没有任何框架的情况下构建我的 API?

【问题讨论】:

  • REST API 是一种标准化与后端通信方式的方法。即通过 /api//id/ 等端点上的 HTTP 动词 GET、POST、UPDATE/PATCH 和 DELETE。

标签: php frameworks rest


【解决方案1】:

简短回答 不,你不需要一个框架来实现你的目标。

但是 如果您使用框架来管理您的 API,这将变得非常容易。我建议你选择一个轻量级的框架,也许你也可以轻松地将你的 web 应用程序转换为框架,让一个“应用程序”返回两个不同的“事物”(网络内容和 API)。

查看LaravelLaravel 4 based REST API 或可用于构建的热门php rest api frameworks 列表。

【讨论】:

  • 他们还将增加安全性
  • @Jleagle 是的,我忘了提及框架的所有“现成”功能,例如安全性、CRUD、MVC 合规性等......
  • @Napolux 既然可以在阿姨的帮助下完成,为什么要使用大象!您建议仅为 REST 加载 23MB 库!
  • 我讨厌 laravel 目录结构。最凶恶的九头蛇
  • Lumen 比 Laravel 更适合 API,因为您不需要状态并且 Lumen 更快。
【解决方案2】:

您当然不需要任何类型的框架来构建 PHP REST API。 REST 只不过是建立在 HTTP 之上的协议约定。由于 PHP 显然可以处理 HTTP 请求,因此它拥有构建 RESTful API 所需的一切。

框架的全部意义在于处理常见的任务和其他乏味的事情。 REST API 通常使用 PHP 构建,因此存在大量框架。就个人而言,我会使用像 slim 这样的轻量级框架来处理诸如 URI 路由、解析/清理请求数据和生成响应之类的事情。

【讨论】:

    【解决方案3】:

    不,您不需要框架来构建 REST API,但强烈建议您这样做,因为构建良好的框架可以处理可能非常困难和复杂的事情,即会话身份验证和缓存以及分离良好的架构.重新发明轮子只能让你走这么远。

    我是Wave Framework 的开发人员,该开发人员牢记以API 为中心的设计(阅读更多here)。我鼓励你看看这个框架,看看它是否可以帮助你。它拥有一小部分开发人员,但正在慢慢获得认可。

    我鼓励您看看它是否可以满足您的需求。

    【讨论】:

    • 现在停止开发了吗?
    • 链接也失效了。我猜它被遗弃了。
    【解决方案4】:

    还有一些工具可以从数据库创建 REST api,而无需额外的代码。

    如果您使用的是 Postgres,那么有一个出色的程序 postgREST

    提供来自任何现有 PostgreSQL 数据库的完全 RESTful API。它提供了比您从头开始编写的更清洁、更符合标准、更快的 API。

    【讨论】:

      【解决方案5】:

      不,您不需要任何 PHP 后端框架。

      如果您使用 php 作为后端,那么您不需要使用任何 resetAPI 框架。只需创建您自己的 php 文件并为每个响应生成 JSON 输出。

      您必须生成 JSON 输出。足够了。 好处:- 如果您使用自己的登录来生成 Json 输出,那么它将是巨大的光速(基于您的逻辑)。 如果您使用任何框架,则会出现性能问题。

      如果您可以设计自己的迷你框架来完成特定站点的工作,那就更好了。

      谢谢

      【讨论】:

        【解决方案6】:

        REST 与其说是语言框架,不如说是一种设计理念,所以不,您不需要使用任何框架。然而,重新发明轮子没有任何优势(当然还有一些缺点,比如安全性、结构等)。

        如果您想避免 MVC 的混乱(这不是 REST 架构的必需规范),您可以使用任何 PHP 微型框架(Slim、Lumen 等),它们非常容易学习和实施,并允许 PHP 开发人员编写基于路线的应用程序(类似于 MEAN 和 Express 的应用程序)可以节省大量时间。

        这些框架中的大多数也带有 MVC,但如果您不想为 API 提供 CMS,MR(模型路由)就足以满足所有 REST 需求(实际上是最好的)。

        自从 Angular 框架允许您的网站像任何其他 API 一样轻松地与服务器通信以来,我认为即使是 CMS 也应该像任何其他应用程序一样访问 API,只是具有提升的权限或特定的端点

        【讨论】:

        • 嗨 Himanshu,我已经在前端使用 AngularJS,并希望使用 PHP 框架作为后端(目前使用纯 PHP 编码)。 PHP 的唯一工作是从数据库中获取数据并将其转换为 REST,反之亦然。最重要的是,我讨厌 OOP,更喜欢简单的函数式编程。已经在客户端 angularJS 中使用 MVC。哪个框架最适合我?谢谢。 (注意:我不是问这个问题的人)
        • 理想情况下,Web API 应该以 JSON 格式给出响应。如果我站在你的立场上,我会选择 Slim Framework。它真的很容易实现,轻量级和快速。此外,它还可以让您保持简单的路由。 REST 不必是 OOP 或 MVP(尽管它被推荐用于扩展)Slim 可以让您立即启动并运行 :)
        【解决方案7】:

        世界很大很大,所以,没有人可以独自完成所有的事情。 有人会帮助某人(做一些新的事情)做一些旧的事情。这就是我们 IT 世界中存在 libray 和 FW 的原因。

        在生产/直播环境中,任何事情都比我们想象的要复杂得多。直到未来的某一天,我们的项目需要构建这么多东西,而我们会看到这些东西之前已经完全由FW构建了。

        虽然只是一个 RESTful 服务器,但使用纯 PHP,我们需要解决以下问题:URI 路由、解析/清理请求数据、数据访问、依赖管理、生成响应、bla bla bla...

        我推荐使用 Slim 或 Phalcon(微应用)。 Slim 是一种简单快捷的方法,但 Phalcon 是一种有效且高性能的方法。

        【讨论】:

        • URI routing, parsing/cleaning request data
        【解决方案8】:

        不一定,你真的需要任何东西的框架! 该框架旨在为您提供工具来帮助您更快地构建项目。 如今,在大多数情况下,使用框架会更聪明,因为谁喜欢重新发明轮子!

        既然你是 PH​​P 开发者,最好的答案是看看 Laravel,我也建议你看看 Apiato (apiato.io ),这是一个建立在 Laravel 之上的 PHP API 框架。它可以让您以比从普通 Laravel 开始更快的方式创建 API,因为它为您提供了每个 API 已经需要的数十种功能。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-07
          • 2018-03-26
          • 1970-01-01
          • 2017-09-29
          • 1970-01-01
          • 1970-01-01
          • 2015-06-05
          • 1970-01-01
          相关资源
          最近更新 更多