PHP ONE 脚本处理所有请求

标签 php mysql web-services optimization refactoring

我刚刚开始进行 PHP 开发,并且一直在查看公司的 Web 服务器文件。以前的程序员设置了一个端点来处理所有请求。例如,

www.example.com/webservice.php

使用此端点,客户端将发送大量带有强制“操作”参数的查询参数。 “action”的值决定了将被调用的函数。

因此,webservice.php 是一个大文件,具有非常长的 if...else 语句,它检查 $_GET["action"] 并调用另一个文件 (functions.php) 中的相应函数以及相关参数。

我对此设计的担忧是:-

  • 性能问题

几乎有大约 100 个 else if 检查“action”,这肯定不是高效的编码,对吗?

  • 设计的 Restful 性

了解了有关 RESTful 哲学的一些知识后,我的方法是将其分为以下组件:

www.example.com/module/submodule/action.php

最佳答案

大多数大型 PHP 应用程序和 MVC 框架都使用 URL 重写,因此即使 URL 看起来像 www.example.com/user/get/5,它实际上都是从某个 index.html 开始的。 php 文件,并可能调用一些 routes.php 文件,然后调度适当的 Controller 。

听起来您正在处理遗留应用程序,但是,是的,100 if else 情况并不理想,但问题不在于单个入口点,而是驻留在该文件中的代码的质量。

关于PHP ONE 脚本处理所有请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43175578/

相关文章:

php - 拉维尔 : highest id used in a column

php - 添加多个搜索查询到搜索脚本?

mysql - 从命令行/终端创建 MySQL Workbench 查询计划镜像

mysql - 用于 mysql 的多个 docker 容器或具有多个数据库的一个实例

JAVA:将请求和响应消息(XML 或 JSON)存储在数据库中以供 Web 服务或 HTTP 调用

java - 我可以发布我的 java 代码并获得编译帮助的网站

PHP:从 MYSQL 数据库创建选择选项?

javascript - 如何捕获内联编辑kendo ui网格的保存行事件

php - 使用 Jquery 可排序将 li 订单存储在 Mysql DB 中

java - Spring 配置文件配置