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 相关文章推荐
第五节 克隆 [5]
Oct 09 PHP
支持oicq头像的留言簿(一)
Oct 09 PHP
php5编程中的异常处理详细方法介绍
Jul 29 PHP
php与XML、XSLT、Mysql的结合运用实现代码
Nov 19 PHP
php根据一个给定范围和步进生成数组的方法
Jun 19 PHP
全面解读PHP的人气开发框架Laravel
Oct 15 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
详解PHP多个进程配合redis的有序集合实现大文件去重
Mar 06 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
PHP实现八皇后算法
May 06 PHP
php+ajax实现文件切割上传功能示例
Mar 03 PHP
php中加密解密DES类的简单使用方法示例
Mar 26 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
PHP连接access数据库
2015/03/27 PHP
用javascript实现画板的代码
2007/09/05 Javascript
javascript基于jQuery的表格悬停变色/恢复,表格点击变色/恢复,点击行选Checkbox
2008/08/05 Javascript
理解Javascript_15_作用域分配与变量访问规则,再送个闭包
2010/10/20 Javascript
javascript编码的几个方法详细介绍
2013/01/06 Javascript
原生JS实现表单checkbook获取已选择的值
2013/07/21 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
js删除数组元素、清空数组的简单方法(必看)
2016/07/27 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
js获取指定字符前/后的字符串简单实例
2016/10/27 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
2016/12/26 Javascript
JavaScript组件开发之输入框加候选框
2017/03/10 Javascript
微信小程序实战之自定义toast(6)
2017/04/18 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
教你如何用node连接redis的示例代码
2018/07/12 Javascript
vue-cli脚手架build目录下utils.js工具配置文件详解
2018/09/14 Javascript
layui 上传图片 返回图片地址的方法
2019/09/26 Javascript
javascript实现简易的计算器
2020/01/17 Javascript
用python爬取租房网站信息的代码
2018/12/14 Python
python图片剪裁代码(图片按四个点坐标剪裁)
2020/03/10 Python
Python flask框架如何显示图像到web页面
2020/06/03 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
python如何设置静态变量
2020/09/07 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
matplotlib bar()实现多组数据并列柱状图通用简便创建方法
2021/02/24 Python
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
生物制药专业自我鉴定
2014/02/19 职场文书
教育见习报告范文
2014/11/03 职场文书
2014年医院后勤工作总结
2014/12/06 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
2015年信息化建设工作总结
2015/07/23 职场文书