Codeigniter 用户特定视图MVC

Codeigniter 用户特定视图MVC,codeigniter,roles,Codeigniter,Roles,我在页面上有一些动作按钮。然后在我的CI控制器中,我为每个 其中包括查看、编辑、新建。现在所有这些函数都有这个if-else块。这是怎么回事 你能做到吗?其他模式 我正在使用带有mod的CI。扩展并在多个模块下具有多个控制器 这种功能 if(hasPermission('view_all')) { $this->model->queryAll() $this->load->view('all_layout') } else if(hasPermission('

我在页面上有一些动作按钮。然后在我的
CI控制器中,我为每个
其中包括查看、编辑、新建。现在所有这些函数都有这个
if-else
块。这是怎么回事 你能做到吗?其他模式

我正在使用带有mod的CI。扩展并在多个模块下具有多个控制器 这种功能

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');
}

我会在hasPermission类中使用Switch Case编写相同的代码&稍微调整一下

  $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更重要:)我想看到更多的即兴创作

你是在问如何编写if block还是如何将
控制器函数
视图
模型
结合使用?所以我的每个函数都会有
if else