我正在創建MVC Web應用程序。MVC - 錯誤消息
在MVC(模型 - 視圖 - 控制器)的哪個部分,我應該保存我的錯誤消息,那可能出現哪裏出現錯誤,用戶應該閱讀它們?
形勢的時刻:
型號:
function f()
{
$data[error] = "Error message"
return $data;
}
查看:
echo $error
我正在創建MVC Web應用程序。MVC - 錯誤消息
在MVC(模型 - 視圖 - 控制器)的哪個部分,我應該保存我的錯誤消息,那可能出現哪裏出現錯誤,用戶應該閱讀它們?
形勢的時刻:
型號:
function f()
{
$data[error] = "Error message"
return $data;
}
查看:
echo $error
你可以儘可能拋出一個異常,在你的控制器,然後趕上他們在你的視圖處理器。
一個通用的模式是:
定義在模式。
生成在控制器。
顯示在查看。
您可以在會話中存儲錯誤消息或直接從控制器傳遞它們以查看。
編號在模型中生成。控制器中的生成。 –
@NoICE Fair,但這並沒有增加任何內容。再看看我的答案,我會更新它以添加「定義在模型中」。 ...我剛剛做的:) –
我的意見是讓他們在模型的末尾。對我來說,控制器只是作爲一箇中間人,並且視圖不應該有太多的想法。
我的代碼中的VIEW
只是在給出它需要顯示的數據後準備好前端輸出頁。它不必做任何思考,並且所有的驗證都在模型中,所以它只需要關注顯示結果,表單,信息,幫助,提示等。
CONTROLLER
在我的代碼中(用戶的瀏覽器請求),模型(全部思考)和視圖(所有'顯示')。它不知道來自用戶的輸入有錯誤;它只是將輸入傳遞給模型。當模型完成後,控制器會將該輸出傳遞給視圖。
我的代碼中的MODEL
負責做所有的想法。它接收來自用戶的輸入(通過控制器),並做它需要做的事情。對於它產生的任何或所有結果和/或錯誤,它只是將它傳遞給視圖(再次通過控制器),並期望視圖知道該做什麼:顯示數據。
例如我有**註冊**控制器,以及我如何向我的用戶顯示錯誤消息,例如('暱稱已註冊')等現在消息寫入模型中,但我認爲它不正確 – jurasarts