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

fat free: how to specify a query string in route

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

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

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

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

提前致谢

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

因此,要么修改路由以在 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.
  }

}

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