我遠不是MVC的V領域的專家,最近一直在嘗試不同的觀點,我目前試用的那個可能甚至不是具有名稱的正確視圖,而是我想出的。我在MVC應用程序中使用了什麼類型的視圖?
在我的應用程序中,Customer
可以發送Request
(傳送請求)到Courier
。 的Request
有4種狀態:
- 發送
- 取消:
- 拒絕
- 接受
我有一個RequestView
延伸我的View
。我將Request
實體注入到我的RequestView
構造中,並根據Request
在RequestView
中的哪個狀態將選擇適當的模板。
我RequestView
有一個像一些方法:通過調用
echo $this->getStateText();
在我只用一個INTEGER與國家工作Request
實體
protected function getStateText() {
switch($this->request->getState()) {
case Request::STATE_SENT:
return 'Sent';
case Request::STATE_CANCELLED:
return 'Cancelled';
case Request::STATE_REJECTED:
return 'Rejected';
case Request::STATE_ACCEPTED:
return 'Accepted';
default:
return 'Error';
}
}
,我可以在我的模板然後用當我處於表示層時,沒有人希望以數字格式查看狀態,因此他們希望在文本中看到當前狀態,這就是爲什麼我在表示層中而不是實體本身中使用getStateText()
方法的原因。我的思考/推理在這裏是否正確?
我目前的實施是好還是壞?這種類型的視圖是否有名字?
謝謝。
我從來沒有聽說過這種類型的具有特定名稱的看法。所以你有一個View對象的方法,然後你擴展它的不同類型的視圖?你的觀點如何構建?我是我的經驗,視圖通常留給大多數HTML或其他類似的結構,只需最少的編碼。視圖模板然後接收它可以使用的變量。所以我想,而不是擴大你的觀點有一個特定的結構,你就送視圖中的對象,將在正確的位置呼應getStateText()公共職能。當然,取決於您的整個MVC結構。 – juuga
你可能要問這對http://codereview.stackexchange.com/,因爲這實際上不是一個特定的編程問題 – Pevara