-3

我正在使用 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. 我想我可以用正则表达式交换键值并以这种方式进行匹配,但是最好有一种更清洁的方式来做到这一点!

请注意,这个问题已经被问到 version 3,这对我目前没有好处。我们想升级,但目前不可能。

4

1 回答 1

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
于 2014-06-24T13:59:12.343 回答