2009-12-03 69 views
0

我查找时没有找到关于搜索的任何信息。我一直在做很多关于设计模式的研究,但我还没有看到路由选择。我的意思是这样的:回到我的PHP时代,我会在一个页面上编写代码,然后传递给下一个。这创造了(虽然我当时没有意识到)紧密耦合的代码,在需要改变路由的情况下,我混淆了一长串页面。有没有像网站路由模式这样的事情?

我想知道是否有任何特定的模式或模式类处理发送我们的表单数据回到中央对象,并有这种呼吁下一个表格。因此,例如,我会传回一个routing.php而不是signUpPage2.php。然后routing.php会将数据传递给signUpPage2.php。

我知道这是PHP Cake和RoR试图做的事情,但我特别想知道是否有这种模式。这似乎不仅仅是MVC我不是,但我可能是错的。

谢谢!

编辑,有没有人有这些类型的图书的书推荐?谢谢

回答

1

邮政/获取/响应

http://en.wikipedia.org/wiki/Post/Redirect/Get

引用:

当web表单通过HTTP POST请求,尝试刷新服务器的web用户提交给服务器某些用户代理中的响应可能导致原始HTTP POST请求的内容重新提交,可能会导致不希望的结果,例如重复购买网页。

为避免此问题,许多Web开发人员使用PRG模式 - POST操作不是直接返回网页,而是使用HTTP 303响应代码[有时使用302]和HTTP“位置”响应头),指示浏览器使用HTTP GET请求加载不同的页面。然后,Web用户可以安全地刷新服务器响应,而不会导致重新提交初始HTTP POST请求。

0

这听起来像Apache Struts,您可以根据操作的结果指定转换。

必须承认我不知道模式名称是什么。

1

你有页面(查看)也决定路由(控制)。在最简单的层面上,我们将控制逻辑拉出来,将View与Control分开 - 因此模型视图控制器在Web应用程序中的流行。

下一步是使用某种形式的调度表实现控制器 - 在使用Struts和JSF等框架完成的Java世界中。

相关问题