我有一个简单的Web应用程序,其中包含数据库表orders
和products
,我正在使用CakePHP重新进行操作。还有更多,但为了简单起见,我在这里只使用这两个。在网络应用程序中,我希望能够搜索项目,搜索订单以及执行与订单有关的工作,但是我无法设置和选择用于制作此Web应用程序的组件。作为我的问题的一个例子,我有以下页面。查看下面的布局。CakePHP:适当的控制器,模型和操作结构
|------------------------------|
| My App |
|------------------------------|
|Search <--| search order |
|Orders | search product |
|etc. | |
| | |
| | |
|------------------------------|
图:左侧导航栏和正文显示。箭头表示我们正在打开的页面。
控制器:本次搜索的页,该控制器应使用?我现在默认为
PagesController
静态页面,但是该搜索页面是否真的使用PagesController
?我还创建了ProductsController
和OrdersController
,这是在创建Product
和Order
模型时创建的,但似乎更适合使用全新控制器,可能是一个名为SearchController
的控制器。通过这种方式,URL保持在myapp/search/...
之下,并且不会遍布整个地方。这是正确的方式吗? (我知道我可以重写网址,但这是为了以后)模型和操作:我有
Product
和Order
模型。这些模型中的每一个都有其相应数据库表的搜索逻辑。如果为上述页面创建了新控制器,那么该控制器可以简单地使用这些模型的操作?我正在阅读控制器和模型分离是完全正常的,实际上是一件好事。起初我以为他们一起去了,但我更熟悉CakePHP,看起来恰恰相反。如果我的方法(从1和2开始)效率不高,错误或不正确,您是否可以建议一个好的结构来设置这个特定的页面,关于要使用哪个控制器以及控制器应该如何使用模型和他们的行为?
谢谢大家的答案!我将为此使用'SearchController'。 – musicliftsme 2012-04-18 16:07:54