我刚刚开始进行 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/