在Fat Free Framework中,我试图弄清楚如何在路由调用或routes.ini文件中指定查询字符串。
我希望能够解码像这样指定的路线
http://example.com/search?category=22&term=wide
请注意,如果可能,我希望查询字符串中包含不同数量的元素。
提前致谢
答案 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.
}
}
如果您正在实施搜索表单,则第二种解决方案看起来最合适。