orders
データベーステーブルを備えた単純な Web アプリケーションがありproducts
、CakePHP で作り直しています。他にもありますが、簡単にするために、ここではこの 2 つだけを使用します。Web アプリで、商品検索、注文検索、注文関連の仕事ができるようにしたいのですが、この Web アプリを作成するために使用するコンポーネントの設定と選択に苦労しています。私の問題の例として、次のページがあります。以下のレイアウトをご覧ください。
|------------------------------|
| My App |
|------------------------------|
|Search <--| search order |
|Orders | search product |
|etc. | |
| | |
| | |
|------------------------------|
図: 左のナビゲーション バーと本体が表示されています。矢印は現在のページを示しています。
コントローラ: この検索ページでは、どのコントローラを使用する必要がありますか? 現在、静的ページのデフォルトを に設定
PagesController
していますが、この検索ページは本当に を使用する必要がありますPagesController
か? と はモデルとモデルを作成したときに作成されたものもありProductsController
ますが、完全に新しいコントローラーを使用する方が適切なようです。このようにして、URL は下にとどまり、あちこちに移動しません。これは適切な方法ですか?(URL を書き換えることができることは知っていますが、それは後で説明します)OrdersController
Product
Order
SearchController
myapp/search/...
モデルとアクション: 私はモデル
Product
とOrder
モデルを持っています。これらの各モデルには、それぞれの DB テーブルの検索ロジックがあります。上記のページ用に新しいコントローラーを作成した場合、そのコントローラーはこれらのモデルのアクションをそのまま使用できますよね? 私はコントローラーを読んでいますが、モデルの分離は完全に正常であり、実際には良いことです。最初は一緒だと思っていたのですが、CakePHP に慣れてくると逆に思えてきます。私のアプローチ (1 と 2 から) が非効率的、間違っている、または不適切でない場合、使用するコントローラーと、コントローラーがモデルとそのアクションを使用する方法に関して、この特定のページを設定するための適切な構造を提案できますか?