[英]MVC Patern, Model in the View
我使用PHP,並且了解MVC的工作原理。 關於MVC我不確定一件事。 因為有時不需要在Controller中處理Model,所以直接在View中創建Model對象而不將其通過Controller是一個好習慣嗎? 這樣做有什么缺點嗎?
您的view
僅顯示結果,因此new Model()
必須轉到控制器,然后再傳遞給視圖。
是的-您的視圖不必依賴模型保持不變。
舉例來說,您使用的模型具有->forename
和->surname
屬性。 在您看來,您只需直接調用它們即可。
然后,您稍后決定要向模型中添加變量和訪問器(getter和setter),因此將使用->getForename()
和->getSurname()
因為您要對它們以確保大寫正確。
現在,您需要遍歷所有控制器和視圖,因為用法需要更改。
相反,如果您只需要在控制器中完成所有模型處理,然后將一組標准化的數據傳遞給視圖,則只需更新控制器即可。
視圖不應該期望模型的任何內容,它只需要從控制器獲取特定數據即可。
您可以在Controller中執行以下操作:
$view = new View('my.file', [
'user' => [
'forename' => $user->forename,
'surname' => $user->surname,
],
] );
這仍然會為您提供$user['forename']
以便在您的View中使用,但是現在該數據的格式來自Controller,而不是Model。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.