是否有一个独立的PHP路由库?

abe*_*ger 38 php routing frameworks

我想在PHP应用程序中添加一些动态的,REST式的路由.我想使用现有的路由库,所以我不必重新发明轮子.

然而,当我看到像Slim和F3这样的东西时,它们都带有我不想要的东西 - 比如模板和MVC.由于我只想要路由,我最终会在我的应用程序中添加许多我不需要的框架代码.

那里有一个好的图书馆只有路由吗?还是我坚持导入完整的框架或重新发明轮子?

Kar*_*tik 28

试试Klein:

单个文件,独立且健壮:

"klein.php是PHP 5.3+的闪电般快速路由器"

  • 灵活的正则表达式路由(灵感来自Sinatra)
  • 一组用于快速构建Web应用程序的样板方法
  • 几乎没有开销=> 2500+请求/秒

https://github.com/chriso/klein.php

  • Klein的第2版不再是单个文件.但是,版本1仍然可以在这里找到:https://github.com/chriso/klein.php/tree/v1.2.0 (4认同)
  • 另一个:https://github.com/auraphp/Aura.Router/,顺便也看下面的基准测试结果klein的光环性能http://stackoverflow.com/a/21013740/487878 (2认同)

DaG*_*rov 17

由于这个问题的老问题,我认为在OP中提到一些更新的案例是一个非常好的主意.

我看到你的问题后立刻想到了两个解决方案:

Phroute建立在FastRoute之上,因此它们都需要PHP 5.4.

如果您需要PHP 5.3+解决方案,我肯定会推荐Slim Framework的路由.如果您不想要框架附带的任何其他功能,您可能会提取路由部分并仅使用它们(SLIM已获得MIT许可,因此您可以执行任何操作)

我在我的一个项目中使用了超薄路由器--DaGhostman\CodeWave @ github,看标签<= 2.4,相关部分在Application\Core&Application\Controller.


小智 6

尝试发送:https://github.com/noodlehaus/dispatch

require 'dispatch.php';

get('/', function () {
   echo "Hello world!\n";
});

dispatch();
Run Code Online (Sandbox Code Playgroud)

它是PHP的单文件路由框架.非常轻便,非常容易使用.这个和Slim是我的最爱.

我根本不需要一个完整的框架.如果您需要ORM,请尝试Redbean.

如果您需要模板引擎,请使用Twig.

使用这种方法,您只需安装您使用的.


mAs*_*pEE 5

Fastroute是一个独立的路由库.它基于OOP模型,并具有完整的测试框架.开源和许可证是免费的.如果您正在为自己的项目寻找修改内容,这是一个很好的起点.

https://github.com/nikic/FastRoute