大佬教程收集整理的这篇文章主要介绍了是否有可重用的PHP路由器/调度程序?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
http://example.com/index.php?event=listPage http://example.com/index.php?event=itemView&id=1234
我想在此前面放置干净的网址,以便您可以通过以下方式访问它:
http://example.com/list http://example.com/items/1234
我知道路线和调度是如何工作的,我可以自己写.但我宁愿利用已经解决了这个问题的所有代码.有没有人知道提供此功能的通用库或类,但是让我从路由匹配中返回任何我想要的东西?像这样的东西.
$Router = new Router(); $Router->addRoute('/items/:id','itemView',array( 'eventName' => 'itemView' )); $Router->resolve( '/items/1234' ); // returns array( 'routename' => 'itemView',// 'eventName' => 'itemView,// 'params' => array( 'id' => '1234' ) )
基本上我可以根据路径中解析的值自行调度.如果不是太麻烦(并且只要许可证允许),我不介意将其从框架中解除.但通常我发现框架中的路由/调度只是有点过于集成而不能像这样重新调整用途.我的搜索似乎表明,如果他们不使用框架,人们就会自己编写.
一个好的解决方案将支持以下内容:
>使用冒号表示法或正则表达式表示路径
>解析路由中的参数并以某种方式返回它们
>支持快速反向查找,如下所示:
$Router->get( 'itemView',array( 'id' => '1234' ) ); // returns 'items/1234'
任何帮助表示赞赏.
require_once('glue.php'); $urls = array( '/' => 'index','/(?P<number>\d+)' => 'index' ); class index { function GET($matches) { if (array_key_exists('number',$matches)) { echo "The magic number is: " . $matches['number']; } else { echo "You did not enter a number."; } } } glue::stick($urls);
以上是大佬教程为你收集整理的是否有可重用的PHP路由器/调度程序?全部内容,希望文章能够帮你解决是否有可重用的PHP路由器/调度程序?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。