特定のCIアプリケーションを作成するプロセスで、GETを使用せずにデータベース内の情報を見つけることについて質問がありました。
CIウィキで既製のソリューションが見つからなかったため、独自の「バイク」を作成することにしました。
まず、さまざまなサイトで検索するときに表示されるリンクの例を考えてみましょう。
GETを介してリンクを渡すパラメーターの例
別の例:
- サイト名/検索/クエリ/ p1 :0:p2:値:p3:テキスト
1つのパラメーターで検索すると、リンクは多かれ少なかれ正常に見えます
しかし、たとえば5つ以上のパラメーターで何かを検索する必要がある場合はどうでしょうか。
そして、私たちのリンク
POSTを介してパラメーターを渡す例(これまでのところのみ=))
実際、このようなリンクには検索用のパラメーターはありませんが、
すでにキャッシュされている検索結果の識別子のみ。
POST配列を介してパラメーターを渡すと、リンクは
入力検索パラメーターが異なるほぼ同じビュー。 決めるだけです
そのような検索方法の「問題と困難」。
これを解決するには、CI +「任意のキャッシュクラス」と少し時間が必要です。
そして、システムはどのように機能しますか:
1.検索結果をキャッシュに保存するには、一意のキーを作成する必要があります。
(検索結果を表示するためのリンクは次のようになります。
サイト名/検索/クエリ/ 7ad549053bf2be45f309920b7b6a24bf / 10 )
2.データベースにリクエストを作成します。
3.結果をキャッシュに保存します。
4.検索結果をユーザーに表示します。
ここにいくつかのコード例を挙げたいと思います。
しかし、多くのコードがあるので、リンクを提供します
ユーザーを検索するための既製のコントローラーのダウンロード+独自のキャッシングライブラリとテストデータベース。
ダウンロードする