是否有任何标准库可以在PHP中进行Rails样式URL映射?我没有使用任何框架,所有代码都是手写的。基本上,我正在寻找一个这样做的库
example.com/user/1/active
这应该映射到用户,id = 1且status = 2(那些是参数)。我应该能够定义地图。
答案 0 :(得分:2)
在PHP中有大约一万种方法可以做到这一点。
我最近成为了klein.php的粉丝,这是一个轻量级的路由器代码,带有一些方便的便利方法。它不是一个框架,如果你愿意,也不会妨碍你使用它。
它基本上只是“这里是一个URL模式,这里是模式匹配时运行的函数。”
答案 1 :(得分:0)
框架实际上是为了自动处理它而构建的,但是如果不使用框架,最好编写自己的.htaccess规则(如果你使用的是linux或os x),或者尝试查看CakePHP如何处理url重写并基于此。 例如:
http://example.com/name/corey
RewriteRule ^(.+)/(.+)$ /$1.php?name=$2 [NC,L]
这会将上面的url重写为/name.php?name=corey
答案 2 :(得分:0)
PHP的目的不是处理格式不同的URL。应该有一些自定义应用程序逻辑来处理这个问题。
你已经提到过你目前没有使用任何框架,所以我建议你加入Silex,这是一个基于Symfony 2组件的微框架。
以下是“Hello World”示例:
require_once __DIR__.'/silex.phar';
$app = new Silex\Application();
$app->get('/hello/{name}', function($name) use($app) {
return 'Hello '.$app->escape($name);
});
$app->run();
您已经提到过您目前正在使用PHP 5.2。 Silex使用的命名空间可以从PHP 5.3等开始使用,因此您必须升级PHP以采用这种方法。
答案 3 :(得分:-1)