我使用php,并且通常将我的应用程序构造到模型视图控制器中,因此它总是通过带有类和方法属性的index.php进行访问。作为URL的一部分传递的Class属性指定控制器类和方法调用的简单方法。这似乎很常见,但是我在确定我要创建哪些控制器时总是遇到麻烦。什么是决定应该创建什么控制器的最好,最简单和最适用的方法?我知道它取决于Web应用程序本身,但必须通过一些通用的思维方式来启动此过程。如何决定Web应用程序的控制器?
2
A
回答
2
我发现基于您的应用程序对象的楼宇控制器效果很好,并且可以处理您希望为您的应用程序执行的大多数操作。
看看SO--有以/ questions,/ tags,/ users等开头的URL。我建议通过为每个对象创建一个不同的控制器来开始设计。 /问题(或/问题/列表)返回所有问题的列表。/questions/[0-9] +使用该ID号返回特定问题的详细信息。/questions/ask返回Ask Question界面。
随着您继续构建应用程序,您可能会发现基于控制器的对象方法并不能满足您的所有需求。例如,在我的网站(http://www.wysiap.com)上,我最终创建了一个/ list控制器来简化我的Grails URL映射。但在大多数情况下,我确实使用了这种方法,很容易找出哪个控制器应该做不同的动作。
0
我建议您考虑一下您的应用程序需要的页面以完成所有请求的任务。您将在同一页面上分组类似的任务,并根据需要创建多个页面。一个页面可以在不同的视图中切片,以便进行特定的操作。
考虑到这一点,你可以有一个控制器每页。页面的每个视图都可以在控制器中拥有自己的方法(操作)。并且在每个视图的方法中,您可以有一个switch()
,这将使您可以有多个视图任务。例如:
- 的index.php(控制板控制器)
- /问题列表(QuestionList控制器,动作指数,显示整个页面)
- /问题列表/添加(QuestionList控制器,动作添加, (profile控制器,动作索引)
- /profile/edit(Profile控制器,动作编辑,管理所有的为您的个人资料要求的任务)
- ...
我这样设计我的大多数Web应用程序和使用Zend-Framework
相关问题
- 1. Web应用程序的访问控制
- 2. 从Web应用程序(ASP.Net)远程控制Android应用程序
- 3. Web应用程序工作流程中的控制器Servlet
- 4. 如何决定部署Web应用程序的硬件
- 5. Web应用程序“取”控制电脑
- 6. 从控制台到Web应用程序
- 7. 如何监控java web应用程序
- 8. Web应用程序到控制台应用程序?
- 9. 如何处理Web应用程序的版本控制?
- 10. 如何处理Web应用程序的版本控制
- 11. 如何控制Dancer Web应用程序的部署?
- 12. 可定制的Web应用程序
- 13. 如何解决jquerymobile web应用程序定位到横向
- 14. Ruby - 如何控制外部进程并监控Web应用程序的输出?
- 15. 如何在web api控制器中获取应用程序池的标识
- 16. 如何从Web应用程序控制Linux java cron作业?
- 17. c#控制台应用程序的记录器应用程序
- 18. asp.net web应用程序和c#代码来控制中继器。
- 19. 如何确定应用程序是否是Web应用程序
- 20. 如何确定如何启动控制台应用程序?
- 21. 如何在控制台应用程序
- 22. 如何在NON MVC Web应用程序中组织视图/控制器?
- 23. 如何从移动应用程序向web api控制器发送邮件
- 24. Spring Web应用程序 - 如何从页面控制器到业务层
- 25. 使用Web应用程序的远程桌面控制
- 26. 如何制定可应用于任何应用程序的架构决策
- 27. MVC的Web应用程序的dll参考控制台应用程序
- 28. 如何在c#中控制应用程序的控制(?)?
- 29. 将Java控制台程序转换为Web应用程序
- 30. 如何在WinForms应用程序内测试Web浏览器控件的Web UI?