【问题标题】:Yii2: Proper Structuring of Actions based on User RolesYii2:基于用户角色的正确行为结构
【发布时间】:2016-02-05 21:47:36
【问题描述】:
我很担心我目前在控制器中构建动作的方式。
我不确定哪种方法更适用于实现根据用户类型为不同用户显示不同内容的操作。
例如:
在用户类型 1 时创建模型使用相同的操作,但向视图传递的参数比用户类型 2 多。
当用户类型为 2 时创建模型使用相同的操作,但向视图传递的参数较少,因此视图中有 if 语句可以根据用户类型显示/隐藏字段。
这是一种正确的做事方式吗?如果没有,你能指导我看一些解释良好结构的文档吗?
感谢并感谢您的帮助。
【问题讨论】:
标签:
yii2
structure
controllers
user-roles
【解决方案1】:
这是一个简单但琐碎的方法
您可以传递一个数组(例如 $param),然后评估类型以在您的操作中做正确的事情
public function actionYourAction( $param)
{
$type = $param['type'];
switch($param['type']){
case 'TYPE1' :
....
break;
}
一个更干净的解决方案可能是一个适当的面向对象的类方法专门化用户对象,在您需要的地方实例化适当的用户对象并在动作调用中传递 thsi。在 actione 中,只需使用 object (specilized) 方法。