Php 为什么通过.htaccess文件和路由器(前端控制器)路由Restful请求?

Php 为什么通过.htaccess文件和路由器(前端控制器)路由Restful请求?,php,rest,restful-url,Php,Rest,Restful Url,背景故事: 我正在尝试用REST架构构建一个API,其中性能是最重要的 团队拥有以前项目的解决方案的经验,该解决方案通过.htaccess文件路由所有调用,然后转发到正确的controller.htaccess->controllerresource->response。这是相当快的,但代码不是非常灵活,也没有坚持坚实的原则。总体而言,我发现很难使用简单明了的代码 当前模型基于 例如: 我一直在认真研究API解决方案和框架;Slim、Phalcon、Laravel等,以及一些基本且大多有偏见的性

背景故事: 我正在尝试用REST架构构建一个API,其中性能是最重要的

团队拥有以前项目的解决方案的经验,该解决方案通过.htaccess文件路由所有调用,然后转发到正确的controller.htaccess->controllerresource->response。这是相当快的,但代码不是非常灵活,也没有坚持坚实的原则。总体而言,我发现很难使用简单明了的代码

当前模型基于 例如:

我一直在认真研究API解决方案和框架;Slim、Phalcon、Laravel等,以及一些基本且大多有偏见的性能测试,以与adhoc系统进行比较。特设团队的表现优于Slim,与Phalcon并驾齐驱——我们不会选择Phalcon,因为它在团队中不太受信任。因此,我们的解决方案是编写一个最小的php应用程序。我不想使用现有的API系统,而是做一些类似于前端控制器的事情

我非常喜欢Slim构建资源路由的方式,比如:

$app = new Slim/Slim();
//Add Get Route
$app->get('/my/route', Function/Map to Object/Do something else);
对我来说,这是可读的,易于维护,甚至更容易扩展。然后我在网上发现了这个小宝石:

基于这些示例,我制作了一个路线控制器原型,并与我的团队共享

问题:

1当我添加额外路线时,我将看到什么样的性能冲击?我不满意那里的信息,以这种方式执行路由非常程序化,通过异常处理停止,我也没有做出假设的经验

2a我是否对.htaccess的路由方法过于愤世嫉俗?解析.htaccess文件时产生的服务器开销真的有问题吗

2b有没有人有过这样构建php应用程序或REST应用程序的经验

和往常一样,感谢您抽出时间阅读和回复


更新:我们正在移动到Nginx服务器,这意味着通过Nginx的配置对定义路由的访问受限,并决定由前端控制器定义路由。

更新:我们正在移动到Nginx服务器,这意味着通过Nginx的配置对定义路由的访问受限,并决定由前端控制器定义路由

这让我感到,定义通过.htaccess的路径是不明智的。从理论上讲,您的前端控制器应该可以在nginx或apache上工作,而无需修改,并且您的应用程序将继续按预期运行。我相信你做出了正确的决定

$app = new Slim/Slim();
//Add Get Route
$app->get('/my/route', Function/Map to Object/Do something else);