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.
}
}
如果您要实现搜索表单,则第二种解决方案看起来最合适。
在 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.
}
}
如果您要实现搜索表单,则第二种解决方案看起来最合适。