MVC - 根据用户加载不同的视图或加载相同的视图?

时间:2013-02-11 18:21:38

标签: php codeigniter templates

我正在建立一个包含3个用户组的网站,让 X,Y和Z

在我的控制器上,我目前正在执行以下操作:

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
}

在这种情况下你会做什么?加载不同的视图?加载相同的视图?听到关于将编程逻辑从观点中删除的问题,我“大吵大闹”,所以我只是想知道社区认为哪个更好。

1 个答案:

答案 0 :(得分:1)

我假设视图的不同足以让不同类型的用户合法地要求每个视图/ HTML。

如果是这种情况,我会发现在控制器中加载适当的视图会更容易。这将导致维护3个较小的HTML /视图文件,而不是一个大文件。

这只是一个偏好问题。

  

我长大了#39;听到关于离开编程逻辑的意见

是的,我也是......但是我们可以把这个想法推得太远......有时它是必不可少的和必要的,有时它是有用的。我宁愿务实而不是教条。