2013-02-11 138 views
0

我正在建立一個網站,有3個用戶組,讓X,Y和ZMVC - 根據用戶加載不同的視圖或加載相同的視圖?

在我的控制,我目前做如下:

if(user_group="X"){ 
//logic goes here 
load_view("X"); 
} 
elseif(user_group="Y"){ 
//logic goes here 
load_view("Y"); 
} 
elseif(user_group="Z"){ 
//logic goes here 
load_view("Z"); 
} 

爲什麼我這樣做是因爲每個用戶都必須加載一個完全不同的頁面的原因,用戶基本上不共享它們看到的任何內容都是共同的,所以我認爲根據用戶組加載不同的視圖會更清晰。

我可以只加載了同樣的觀點爲不同用戶:

if($user="X"){ 
//view HTML 
} 
elseif($user="Y"){ 
//view HTML 
} 
elseif($user="Z"){ 
//view HTML 
} 

,你會在這種情況下怎麼辦?加載不同的視圖?加載相同的視圖?我'長大'聽說關於編程邏輯脫離視圖,所以我只是想知道在這裏社區認爲它更好。

+0

在此使用ifelse是不正確的。如果在其他日子出現+5組,你會怎麼做。我會使用像 getGroupView($ group_id){}這樣的方法,如果組不存在,將呈現視圖並呈現404。如果視圖模板不存在,應該是異常 – 2013-02-11 18:31:06

+0

編碼現在並不重要,它更像是一個邏輯事物,這個代碼在那裏只是我輸入的東西,可以快速翻譯我的不好的解釋。 – 2013-02-11 18:33:49

回答

1

我假設視圖足夠不同,以便不同類型的用戶合法地爲每個視圖分別需要不同的視圖/ HTML。

如果是這樣的話,我會更容易在控制器中加載相應的視圖。這將導致3個較小的HTML /視圖文件來維護,而不是一個大的。

這實際上只是一個偏好問題。

我「長大」聽說留下的編程邏輯出來的意見

是啊,我也一樣......但我們可以攜帶想法太...有時是必要的,必須的,其他次它是有用的。我寧願比教條式的實用主義。