您現在的位置是:網站首頁>PHPPHP的Yii框架中移除組件所綁定的例子分享

PHP的Yii框架中移除組件所綁定的例子分享

宸宸2024-01-01PHP80人已圍觀

本站精選了一篇PHP相關的編程文章,網友車樂珍根據主題投稿了本篇教程內容,涉及到PHP、Yii、PHP的Yii框架中移除組件所綁定的行爲的方法相關內容,已被226網友關注,相關難點技巧可以閲讀下方的電子資料。

PHP的Yii框架中移除組件所綁定的行爲的方法

要移除行爲,可以調用 yii\base\Component::detachBehavior() 方法用行爲相關聯的名字實現:

$component->detachBehavior('myBehavior1');

也可以移除全部行爲:

$component->detachBehaviors();

這上麪兩種方法,都會調用到 yii\base\Behavior::detach() ,其

public function detach()
{
  // 這得是個名花有主的行爲才有解除一說
  if ($this->owner) {

    // 遍歷行爲定義的事件,一一解除
    foreach ($this->events() as $event => $handler) {
      $this->owner->off($event, is_string($handler) ? [$this,
        $handler] : $handler);
    }
    $this->owner = null;
  }
}

與 yii\base\Behavior::attach() 相反,解除的過程就是乾兩件事: 一是將 $owner 設置爲 null ,表示這個行爲沒有依附到任何類上。 二是通過Component的 off() 將綁定到類上的事件hanlder解除下來。一句話,善始善終。

我的名片

網名:星辰

職業:程式師

現居:河北省-衡水市

Email:[email protected]