這篇文章主要介紹了PHP的Yii框架中移除組件所綁定的行為的方法,可以用detachBehavio方法或者移除全部行為,需要的朋友可以參考下
要移除行為,可以呼叫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解除下來。一句話,善始善終。
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
#
以上是如何使用Yii框架移除元件所綁定的行為的詳細內容。更多資訊請關注PHP中文網其他相關文章!