fat free:如何在路由中指定查询字符串

时间:2017-06-15 23:18:06

标签: fat-free-framework

在Fat Free Framework中,我试图弄清楚如何在路由调用或routes.ini文件中指定查询字符串。

我希望能够解码像这样指定的路线

http://example.com/search?category=22&term=wide

请注意,如果可能,我希望查询字符串中包含不同数量的元素。

提前致谢

1 个答案:

答案 0 :(得分:1)

框架不允许路由查询字符串,只允许路径。

因此,要么修改路由以在URI路径中包含参数:

;routes.ini
GET /search/@category = MyController->searchByCategory
GET /search/@category/@term = MyController->searchByCategoryAndTerm

(需要严格的参数顺序)

或者您将所有内容路由到同一个控制器并在那里解析查询字符串:

;routes.ini
GET /search = MyController->search
class MyController {

  function search(\Base $f3) {
    $category=$f3->get('GET.category);
    $term=$f3->get('GET.term');
    //etc.
  }

}

如果您正在实施搜索表单,则第二种解决方案看起来最合适。