simonhamp / routes
此包已被废弃,不再维护。未建议替代包。
基于CodeIgniter核心Router.php的PHP低级别路由类。
v2.0.1
2017-11-08 16:30 UTC
Requires
- php: >=5.3.0
This package is auto-updated.
Last update: 2021-07-03 19:29:50 UTC
README
嗨,感谢您查看Routes!Routes是一个低级别的PHP类,用于定义和使用类似于CodeIgniter的URL路由模式。实际上,Routes是基于CodeIgniter的实现。
安装
通过命令行使用Composer进行安装
$ composer require simonhamp/routes
使用方法
要使用Routes,您只需将类放在应用程序的可访问位置。然后您需要定义一些路由并将它们注册
<?php include 'vendor/autoload.php'; use SimonHamp\Routes; Routes::add(array( 'testing/(:num)' => 'test/$1', 'posts/(:any)' => 'news/$1' )); $origin = 'testing/1'; echo Routes::route($origin); // -> 'test/1'
为什么使用Routes?
与应用程序URL重写(例如 .htaccess/mod_rewrite)相比,应用程序内路由是定义网站和应用程序中URL模式的一种流行方法。它允许开发人员使应用程序看起来以一种方式,但实际上却以另一种方式运行。它在MVC Web框架(Rails、Sinatra、CakePHP、CodeIgniter等)中最常见。路由简单但强大,该概念在框架之外的其他情况下也非常有用。
有其他 尝试可移植路由库,但它们与MVC框架架构过于紧密,无法在框架之外使用。这就是Routes的用武之地。您可以将其用作另一个框架的路由系统,或者将其完全分开。
使用Routes,您可以使用简单的指令定义复杂的路由,并在代码中以返回变量获取重写后的URL。因此,它不需要特定的Web服务器。它不做任何复杂的事情,只是根据您提供的规则按顺序重写您提供的URL。简单。
希望您觉得它很有用! :)
有问题?评论?请提出问题
但我需要一个真正的路由器!
那么我建议您使用FastRoute,这是@nikic的杰作。它非常快,有一些很棒的功能,包括一个将路由的各个部分传递到您定义的方法的调度器。