2015-11-05 77 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)方法。