2015-11-05 80 views
-1

我当前的方式我结构,我的控制器行动颇为担心。Yii2:基于用户角色操作的合理构建

我不知道这是实现该显示根据类型不同用户的不同东西的动作越采用的方法。

例如: 创建模型时用户是类型1使用相同的作用,但通过多个参数,以比用户类型2. 视图创建模型时用户是2型使用相同的动作,但传递到较少参数查看,因此有如果在视图中陈述基于所述用户类型显示/隐藏字段。

这是做事情的正确方法?如果不是,你能指导我解释一个好结构的文档吗?

感谢&感谢你的帮助。

回答

0

一个简单而繁琐的方式是这样的 可以传递阵列(例如$ PARAM),然后评估类型做你的行动中右thinghs

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

    } 

一个更清洁的解决方案可能是一个合适的对象为用户的面向对象的类方法专业化,实例化适当的用户对象,你NEDD并通过thsi在行动电话。在actione内部只需使用对象(specilized)方法。