2009-12-03 47 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世界中。

相關問題