获取有关Fat Free版本2.0.x中匹配路由的信息

时间:2014-06-24 09:39:28

标签: php routing fat-free-framework

我正在使用Fat Free Framework的旧版2.0。我正在酝酿一些需要为每个请求调用的代码。

我想检查匹配的路由,我发现我可以在beforeRoute方法中使用此方法:

$routeData = F3::get('PARAMS');

如果这样定义了路线:

F3::route('GET /@customer/dictionary/@key', 'controllers\dictionaries->viewKey');

然后检查$routeData给出:

array(
    [0] => /custname/dictionary/mykey
    [customer] => custname
    [key] => mykey
)

这是一个好的开始,但我想获得GET /@customer/dictionary/@key/@customer/dictionary/@key。我想我可以用正则表达式替换键值并以这种方式进行匹配,但是有一个更清晰的方法来做它真好!

请注意这个问题has already been asked for version 3,这对我目前没有好处。我们想升级,但目前还不可能。

1 个答案:

答案 0 :(得分:1)

从版本2.1.0开始,您可以获得:

  • $_SERVER['REQUEST_METHOD']的请求方法(版本2中没有专用的F3变量)
  • 匹配的路线模式与F3::get('PATTERN')
  • 匹配的路线参数F3::get('PARAMS')

所以在你的情况下:

echo $_SERVER['REQUEST_METHOD'];// GET
echo F3::get('PATTERN');// /@customer/dictionary/@key
echo F3::get('PARAMS.customer');// custname
echo F3::get('PARAMS.key');// mykey