当我开始一个新项目时,我总是被这个问题难住了。当我查看Mephisto、Typo等示例时,它们将自己的根路由到与特定资源/模型相关的控制器。
我的问题是,几乎我建立的每个网站,我觉得我的首页实际上是我所有模型的协作,我看不到自己指向一个与特定控制器相关的控制器作为我的登录页面。
有没有人倾向于创建一个专门用于网站正面的控制器?或者,如果我的观点完全错误,请让我知道。
编辑:
这就是我的困惑所在:
rboard's routes将根目录映射到名为index的控制器...但我甚至找不到索引控制器
mephisto's routes使用了一些custom routing东西,并且没有根目录,甚至没有指向'/‘的map.connect
这个应用程序的大部分radiant's routes都会被一个控制器占用,然后这个控制器会产生一些疯狂的魔力
track's routes转到与资源相关的控制器(这是与我上面描述的最接近的示例)……但这并不适合我,因为正如我所说的,我的根往往有很多东西。
spot us实际上做了一些类似于我做的事情,有一个家庭控制器,它只有一个显示动作,那就是我的首页。
发布于 2009-04-25 05:12:51
我的问题是,几乎每个我建过的网站,我觉得我的首页实际上是我所有模型的协作,我看不到自己指向一个与特定控制器相关的控制器作为我的登录页面。
一点儿没错。所以你所做的是正确的。
我经常做两个控制器,用于与不是通常REST的东西进行交互:“欢迎”和“仪表板”。欢迎控制器被映射到我的站点的根目录,而“仪表板”控制器与之类似,只是对于登录的用户而言。
发布于 2009-04-24 20:40:59
有没有人倾向于创建一个专门用于网站正面的控制器?或者,如果我的观点完全错误,请让我知道。
简短的回答是“是”。
无论如何,我通常对Spot.Us采取类似的方法,并定义一个带有索引操作/视图的HomeController,然后就不管它了。
发布于 2009-04-24 16:20:26
我不确定这是否是你想要的答案,但我是这么做的。我通常使用两种控制器类型的组合,前端控制器和动作控制器。Front Controller负责URL路由和确定要执行的操作,而action Controller则提供实际功能。这与Zend Framework所做的事情类似。
话虽如此,我将通过一个前端控制器管道所有流量,包括首页流量。我通常有一个名为"IndexController“的操作控制器,用于处理各种页面请求,并且通常首页属于该类别(以及隐私策略页面、联系人表单等内容)。
如果页面与站点的任何业务域逻辑不是特别相关,我倾向于将它放在Index操作控制器下,尽管我努力尽可能地对站点功能进行分组。
https://stackoverflow.com/questions/786535
复制相似问题