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


MVC - Load different views depending on user OR load the same view?

我正在构建一个有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
}

在这种情况下你会怎么做?加载不同的视图?加载相同的视图?我从小就听说把编程逻辑排除在视图之外,所以我只是想知道社区认为什么更好。

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

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

这真的只是一个偏好的问题。

我从小就听说把编程逻辑排除在视图之外

是的,我也是。。。但我们可以把这个想法带得太远。。。有时它是必不可少的,有时它是有用的。我宁愿务实也不愿教条主义。