我使用php并且通常将我的应用程序构建到模型 - 视图 - 控制器中,因此它总是通过index.php与类和方法属性一起访问。作为URL的一部分传递的类属性指定控制器类和方法简单地调用方法。这似乎很常见,但是我总是很难弄清楚我应该创建什么样的控制器。决定应该创建哪些控制器的最佳,最简单和最适用的方法是什么?我理解这取决于Web应用程序本身,但必须采用一些通用的思维方式来启动此过程。
答案 0 :(得分:2)
我发现根据应用程序的对象构建控制器效果很好,可以处理您希望为应用程序执行的大多数操作。
看看SO--这些网址以/ questions,/ tags,/ users等开头。我建议的设计首先要为每个对象创建一个不同的控制器。 / questions(或/ questions / list)返回所有问题的列表。 / questions / [0-9] +返回具有该ID号的特定问题的详细信息。 / questions / ask返回Ask Question界面。
在继续构建应用程序时,您可能会发现基于控制器的对象方法无法满足您的所有需求。例如,在我的网站(http://www.wysiap.com)上,我最终创建了一个/ list控制器来简化我的Grails URL映射。但在大多数情况下,我确实使用了这种方法,很容易弄清楚哪个控制器应该采取不同的行动。
答案 1 :(得分:0)
我建议您考虑应用程序中需要的页面,以完成所有请求的任务。您将在同一页面上对类似任务进行分组,并根据需要创建任意数量的页面。可以在不同视图中对页面进行切片以执行特定操作。
考虑到这一点,每页可以有一个控制器。页面的每个视图在控制器中都有自己的方法(动作)。在每个视图的方法中,您可以拥有一个switch()
,使您可以为视图创建多个任务。例如: