Yii2:基于用户角色的操作的适当结构

Yii2:基于用户角色的操作的适当结构,yii2,structure,controllers,user-roles,Yii2,Structure,Controllers,User Roles,我很担心目前我在控制器中构造动作的方式 我不确定哪种方法更适合于实现根据不同用户类型显示不同内容的操作 例如: 当用户类型为1时创建模型使用相同的操作,但向视图传递的参数多于用户类型2。 当用户为类型2时创建模型使用相同的操作,但向视图传递的参数较少,因此视图中有if语句根据用户类型显示/隐藏字段 这是一种正确的做事方式吗?如果没有,你能告诉我一些说明良好结构的文档吗 感谢并感谢您的帮助。一个简单但繁琐的方法是 您可以传递一个数组(例如$param),然后在操作中计算正确操作的类型 public

我很担心目前我在控制器中构造动作的方式

我不确定哪种方法更适合于实现根据不同用户类型显示不同内容的操作

例如: 当用户类型为1时创建模型使用相同的操作,但向视图传递的参数多于用户类型2。 当用户为类型2时创建模型使用相同的操作,但向视图传递的参数较少,因此视图中有if语句根据用户类型显示/隐藏字段

这是一种正确的做事方式吗?如果没有,你能告诉我一些说明良好结构的文档吗


感谢并感谢您的帮助。

一个简单但繁琐的方法是 您可以传递一个数组(例如$param),然后在操作中计算正确操作的类型

public function actionYourAction( $param)
{
    $type = $param['type'];
    switch($param['type']){
        case 'TYPE1' :
           ....
           break;

    }
一个更干净的解决方案可能是为用户对象专门化一个合适的面向对象类方法,在nedd中实例化合适的用户对象,并在操作调用中传递thsi。在actione内部,只需使用object(Specialized)方法