0
在Fat Free Framework中,我试图弄清楚如何在路由调用或routes.ini文件中指定查询字符串。fat free:如何在路由中指定查询字符串
我想能够解码这样
http://example.com/search?category=22&term=wide
注指定的路线,如果可能的话我想有不同数量的查询字符串元素。
在此先感谢
在Fat Free Framework中,我试图弄清楚如何在路由调用或routes.ini文件中指定查询字符串。fat free:如何在路由中指定查询字符串
我想能够解码这样
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.
}
}
如果您正在实施搜索表单,则第二种解决方案看起来最合适。
我同意第二种形式更合适,但我应该如何在routes.ini中编写路由;这是我缺乏的地方。应该像GET/search/*一样吗? – Didiergm
如果对别人有用,可以使用简单的GET /搜索路径以及建议的手动解码。完美的感谢 – Didiergm
'GET/search'就够了。查询字符串不需要出现在路由定义中。我已经更新了答案。 – xfra35