我有一个带有数据库表的简单 Web 应用程序,orders
并且products
我正在使用 CakePHP 进行改造。还有更多,但为了简单起见,我在这里只使用这两个。在 Web 应用程序中,我希望能够搜索项目、搜索订单并执行与订单相关的工作,但我在设置和选择用于制作此 Web 应用程序的组件时遇到了困难。作为我的问题的一个例子,我有以下页面。看看下面的布局。
|------------------------------|
| My App |
|------------------------------|
|Search <--| search order |
|Orders | search product |
|etc. | |
| | |
| | |
|------------------------------|
图:显示的左侧导航栏和正文。箭头表示我们所在的页面。
控制器:对于这个搜索页面,应该使用哪些控制器?我现在默认
PagesController
使用静态页面,但是这个搜索页面真的应该使用PagesController
吗?我也有ProductsController
,并且OrdersController
是在我创建Product
和Order
模型时创建的,但使用一个全新的控制器似乎更合适,也许是一个名为SearchController
. 这样,URLmyapp/search/...
就会保留在下面,不会到处乱窜。这是正确的方法吗?(我知道我可以重写 URL,但那是以后的事了)模型和行动:我有
Product
模型Order
。这些模型中的每一个都有针对其各自数据库表的搜索逻辑。如果为上述页面创建了一个新控制器,那么该控制器可以简单地使用这些模型的操作,对吗?我正在阅读控制器和模型分离是完全正常的,实际上是一件好事。一开始我以为他们是一起走的,但是越熟悉CakePHP,似乎就相反了。如果我的方法(从 1 和 2 开始)不是低效、错误或不合适的,您能否建议一个好的结构来设置这个特定页面,以说明要使用哪些控制器以及控制器应该如何使用模型及其操作?