2015-07-21 49 views
3

我有一个AccessFilter类如何从AccessFilter传递变量到控制器在Yii2

class ProjectAccessControl extends \yii\base\ActionFilter 
{ 
    public $a; 
    /** 
    * @inheritdoc 
    */ 
    public function beforeAction($action) 
    { 
     switch ($action->id) { 
      case 'view': 
      // code here 
      break; 
     } 
    } 

在控制器I撤消这个AccessFilter行为()方法是这样的:

public function behaviors() 
{ 
    return [ 
     'access' => [ 
      'class' => ProjectAccessControl::className(), 
     ] 
    ]; 
} 

现在我想将AccessFilter中的$a变量传递给Controller中的任何操作。怎么做?

回答

1

您应该简单地在控制器中添加一个变量,例如:

public $a; 

而在你的过滤器使用:

$this->owner->a = $this->a; 
+0

伟大的..谢谢:) – hoangk

相关问题