Laravel や CodeIgniter などの PHP フレームワークを使い始めています。そして、私は基本を理解したと思います。
これが私の例です。
認証ユーザーの後、次のように移動することを認めます。
mysite.fr/username/
次に、このユーザーが書いたすべての本をデータベースから読み込みます。
so the username/index controllers call the books models.
次に、ユーザーはフィルター ボタンをクリックして KIDS の本のみを表示できるため、URI は次のようになります。
mysite.fr/username/books/kids
ここでは、books モデルが新しいクエリを作成して、category = "KIDS" であるすべての本を検索します。
以前にすべての本をすでにロードしているので、これは悪いと思います! したがって、新しいクエリを作成する必要はなく、Books オブジェクトにフィルターを適用するだけです。
モデルをコントローラーに保存し、オブジェクト全体を再作成することなく別のコントローラーからアクセスする方法はありますか?
私がやりたいことは次のとおりです。
username/index
Books already loaded ? call the view with Book object : make the query
username/books/categories
Books already loaded ? call the view for categories : make the query for this categories
それは OOP の精神にまったく沿わないかもしれませんが、なぜ既に持っている情報を求めに行くのでしょうか??
それを行う唯一の方法は、モデルをファイルに保存することです...しかし、実際には効率的ではありません。
あなたの助けに感謝し、私の母国語ではなく私の英語を許してください...