2016-08-30 4 views
0

イベントが発生したときに追加のパラメータを渡す必要があります。これどうやってするの。Yii2 - イベントでパラメータを渡す方法

const EVENT_NEW_PORTAL = 'new-portal'; 

public function init(){ 

     $this->on(self::EVENT_NEW_PORTAL, [$this, $userID, 'defaultJournal']); 
     $this->on(self::EVENT_NEW_PORTAL, [$this->idportal, $userID, 'defaultCategory']); 

    } 

    public function defaultJournal($portal, $userID) 
    { 
     CsJournal::insertDefaultJournal($portal, $userID); 
    } 

    public function defaultBoardCagetory($portalID, $userID) 
    { 
     BoardCategories::createDefaultCategory($portal, $userID); 
    } 

答えて

2

これは、Attaching Event Handlersです。

イベントハンドラをアタッチする場合、追加データをyii\base\Component::on()の3番目のパラメータとして指定できます。データは、イベントがトリガされハンドラが呼び出されたときにハンドラが利用できるようになります。

public function defaultJournal($event) 
{ 
    CsJournal::insertDefaultJournal($this, $event->data); 
} 

そして:

$this->on(self::EVENT_NEW_PORTAL, [$this, 'defaultJournal'], $userID); 
関連する問題