PHP的Yii框架中移除组件所绑定的行为的方法


Posted in PHP onMarch 18, 2016

要移除行为,可以调用 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 相关文章推荐
在Zeus Web Server中安装PHP语言支持
Oct 09 PHP
php基础知识:控制结构
Dec 13 PHP
深入file_get_contents函数抓取内容失败的原因分析
Jun 25 PHP
ThinkPHP基本的增删查改操作实例教程
Aug 22 PHP
php生成唯一的订单函数分享
Feb 02 PHP
php通过array_merge()函数合并两个数组的方法
Mar 18 PHP
WordPress自定义时间显示格式
Mar 27 PHP
PHP实现图片批量打包下载功能
Mar 01 PHP
利用laravel搭建一个迷你博客实战教程
Aug 13 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP中cookie知识点学习
May 06 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
Mar 18 #PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
Mar 18 #PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 #PHP
Symfony2函数用法实例分析
Mar 18 #PHP
Symfony2联合查询实现方法
Mar 18 #PHP
Symfony2使用Doctrine进行数据库查询方法实例总结
Mar 18 #PHP
Symfony2创建页面实例详解
Mar 18 #PHP
You might like
php的一个登录的类 [推荐]
2007/03/16 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
使用PHP similar text计算两个字符串相似度
2015/11/06 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
PHP开发实现快递查询功能详解
2019/04/08 PHP
extjs中grid中嵌入动态combobox的应用
2011/01/01 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
jQuery中setTimeout的几种使用方法小结
2013/04/07 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
原生js实现模拟滚动条
2015/06/15 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
微信小程序 UI布局常用技巧整理总结
2016/12/05 Javascript
Angular路由简单学习
2016/12/26 Javascript
js获取ip和地区
2017/03/10 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
详解PHP后期静态绑定分析与应用
2018/03/21 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
js使用文档就绪函数动态改变页面内容示例【innerHTML、innerText】
2019/11/07 Javascript
[33:15]2018DOTA2亚洲邀请赛3月30日 小组赛B组 VP VS Mineski
2018/03/31 DOTA
[38:40]2018DOTA2亚洲邀请赛 4.6淘汰赛 mineski vs LGD 第一场
2018/04/10 DOTA
python对字典进行排序实例
2014/09/25 Python
python验证码识别的实例详解
2016/09/09 Python
用python结合jieba和wordcloud实现词云效果
2017/09/05 Python
PyTorch上实现卷积神经网络CNN的方法
2018/04/28 Python
Python中return self的用法详解
2018/07/27 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
python操作文件的参数整理
2019/06/11 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
会计专业个人自我鉴定
2014/03/21 职场文书
竞选部长演讲稿
2014/04/26 职场文书
辞职信标准格式
2015/02/27 职场文书
党员反四风学习心得体会
2016/01/22 职场文书