2017-06-15 3 views
0

Fat Free Frameworkでは、ルート呼び出しまたはroutes.iniファイルでクエリ文字列を指定する方法を理解しようとしています。私は可能であれば、このfat free:ルート内のクエリ文字列を指定する方法

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

ノートのように指定したルートをデコードすることができるようにしたい

私は、クエリ文字列内の要素の様々な数を持っているしたいと思います。事前

答えて

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. 
    } 

} 

検索フォームを実装する場合は、2番目の解決策が最も適切に見えます。

+0

2番目の書式がより適切であることに同意しますが、routes.iniにどのように書いてください。これは私が不足しているところです。それはGET/search/*のようなものでしょうか? – Didiergm

+0

単純なGET /検索ルートと提案されているように手動でデコードすることは、他の人にとっては便利な場合があります。完璧なお礼 – Didiergm

+0

'GET/search'で十分です。クエリ文字列は、ルーティング定義に表示する必要はありません。私は答えを更新しました。 – xfra35

関連する問題