PHP的Yii架構中移除組件所綁定的行為的方法,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解除下來。一句話,善始善終。
您可能感興趣的文章:
- PHP的Yii架構中行為的定義與Binder 方法講解
- 詳解在PHP的Yii架構中使用行為Behaviors的方法
- 深入講解PHP的Yii架構中的屬性(Property)
- PHP的Yii架構中使用資料庫的配置和SQL操作執行個體教程
- 深入解析PHP的Yii架構中的event事件機制
- 全面解讀PHP的Yii架構中的日誌功能
- Yii使用find findAll尋找出指定欄位的實現方法
- 解析yii資料庫的增刪查改
- Yii PHP Framework實用入門教程(詳細介紹)
- 詳解PHP的Yii架構中組件行為的屬性注入和方法注入
http://www.bkjia.com/PHPjc/1111896.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1111896.htmlTechArticlePHP的Yii架構中移除組件所綁定的行為的方法,yii架構 要移除行為,可以調用 yii\base\Component::detachBehavior() 方法用行為相關聯的名字實現:...