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