2013-10-25 97 views
0

我在頁面上有一些操作按鈕。然後在我的CI controllerfunctions每個
他們像view, edit, new。現在所有這些函數都有這個if else塊。你是這麼做的嗎?
你這樣做嗎?其他模式?用戶特定視圖MVC

我使用CI與mod。擴展和具有多個模塊下的多個控制器與 這種功能。

if(hasPermission('view_all')) 
{ 
    $this->model->queryAll() 
    $this->load->view('all_layout') 
} 
else if(hasPermission('view_group')) 
{ 
    $this->model->queryGroup() 
    $this->load->view('group_layout'); 
} 
else { 
    $this->model->querySingle() 
    $this->load->view('single_layout'); 
} 
+0

你問如何寫塊或如何使用'控制器功能'與'views'和'models'? – Kits

+0

所以我的每個功能都會有'如果其他'? – NestedWeb

回答

0

我會使用開關罩&小調整中調用hasPermission類都寫相同的代碼

$permission = getPermission() // It wud return 1 for view_all, 2 for view_group, 3 for single layout 

    switch($permission){ 
    case 1: 
     $this->model->queryAll(); 
     $this->load->view('all_layout'); 
     break; 
    case 2: 
     $this->model->queryGroup(); 
     $this->load->view('group_layout'); 
     break; 
    default: 
     $this->model->querySingle() 
     $this->load->view('single_layout'); 
     break; 
} 

我知道這個代碼不減少的行數,但有時可讀性,更重要的則LOC :)我想看到更多的即興創作