2012-05-15 57 views
-2

我對PHP情況提出了一些建議。PHP模型/控制器方法

目前我有一個HTML頁面有兩個用戶名和密碼字段。當按下「提交」按鈕時,通過操作加載PHP文件,如果用戶名和密碼正確,遊戲就會啓動。遊戲與檢查用戶在同一個PHP文件中。用戶可以回答很多問題並根據他們的結果得分。用戶完成後,他們可以按下注銷按鈕來保存當前的分數和級別。

我被要求使用模型/視圖/控制器設置。我能否就我應該進行的修改我的一個PHP遊戲文件的過程提供一些建議?

+0

恐怕你的問題對於StackOverflow來說過於寬泛,但是這裏有一個提示:你可能想要使用一些像Codeigniter或CakePHP這樣的MVC框架。 Cake的文檔包括[簡單的MVC解釋](http://book.cakephp.org/2.0/en/cakephp-overview/understanding-model-view-controller.html)。 – bfavaretto

+0

嘗試Codeigniter框架:http://www.codeigniter.com 用戶指南在這裏:http://codeigniter.com/user_guide/ 您對用戶進行身份驗證的方式並不好。嘗試閱讀更多關於協議來認證用戶的信息。 – lu1s

+0

http://stackoverflow.com/questions/4143169/php-mvc-frameworks –

回答

0

我不包括遊戲本身的功能,並以您的身份驗證爲例。

控制器

你的情況的控制器是接收表單提交一些網頁。它將驗證任何輸入,並決定要調用哪些服務來獲得響應。然後它會將該響應傳遞給一個視圖(應該只包含將要在頁面上顯示的數據,而不包括格式或其他信息)。

模型

在這種情況下的模型是提供認證服務。這應該是一組函數,如:

//returns 1 if successful, 0 otherwise 
function authenticate(&$username, &$password) { ... } 

通常這些被封裝在一個可以從任何地方調用的類中。這是你的'模型',因爲它與問題域的數據交互。

查看

在這種情況下,一旦控制器通過從認證服務視圖中的響應,視圖將它解,並用HTML和CSS標記它。在這種情況下,它可能意味着顯示用戶的登錄名並獲取遊戲信息。或者,如果登錄失敗,視圖應該顯示失敗的全部內容;錯誤消息等。注意這些是兩個不同的視圖:認證的成功和失敗。